PHP XML + Web Services

3 comments | Posted: 11 June 06 in Books, by Nathan Smith

PHP XML + Web Services Quite some time ago, Apress sent me Pro PHP XML and Web Services to review, and I am just now getting around to it. First off, let me say that this book is huge. It weighs in at 936 pages, and the one I have is a hard-cover. The author, Robert Richards has done an amazing job at providing an incredibly comprehensive volume, covering a vast amount of information. Anything I write in this review will probably not do the book full justice, simply because it is so extensive.

That being said, I will attempt to briefly summarize its contents, so you will have an idea of just how much is covered. Here is a listing of topics by each of the 21 chapters:

  1. Introduction to XML and Web Services
  2. XML Structure
  3. Validation
  4. XPath, XPointer, XInclude, and the Future
  5. PHP and XML
  6. Document Object Model (DOM)
  7. SimpleXML
  8. Simple API for XML (SAX)
  9. XMLReader
  10. Extensible Stylesheet Language Transformations (XSLT)
  11. Effective and Efficient Processing
  12. XML Security
  13. PEAR and XML
  14. Content Syndication: RSS and Atom
  15. Web Distributed Data Exchange (WDDX)
  16. XML-RPC
  17. Representational State Transfer (REST)
  18. SOAP
  19. Universal Description, Discovery, and Integration (UDDI)
  20. PEAR and Web Services
  21. Other XML Technologies and Extensions

Appendices:

  1. XML Schema Built-In Data Types Reference
  2. Extension APIs
  3. Features and Changes in PHP 6

As you can see, there is quite a bit to be learned from this veritable tome of knowledge. There is even a sneak peek of what is around the corner for the future version of PHP 6. Since I can’t really go over it all (well I could, but won’t), allow me to point out some of the things I enjoyed about this book.

If you have worked with well-formed XHTML files at all, you no doubt are familiar with this bit of code, usually at the top of every document…

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

If you were to navigate to that *.dtd file, you would see a Document Type Definition for Extensible HTML 1.0. In fact, why don’t you just go ahead and check it out. If you get a browser prompt, just open it in your favorite code editor. All of that information is what XHTML 1.0 Strict is validated against. XHTML, being a rewrite / facelift of HTML in XML, adheres to the W3C concept of Namespaces in XML. XHTML 1.1 also has a DTD, as does HTML 4.01, etc.

Hopefully it comes no surprise that you’ve been working with XML concepts for some time now, perhaps unknowingly. Richards helps demystify these concepts, and shows how to write your own custom Document Type Definitions. After all, that is the key tenet of XML – Extensibility. As long as things are properly self closing, there is a whole lot of flexilibility available. I liked his example of <sarcasm>...</sarcasm> in one of the opening chapters.

After the chapters on XML, he moves to talking about the Document Object Model or DOM for short. You’ve no doubt heard this term before, probably in conjunction with JavaScript. DOM though, is language neutral or multi-lingual you could say. Just as JavaScript can be used to manipulate the DOM on the client-side, PHP can be used on the server-side to parse an XML document. That is of course the fundamental aspect of Ajax – shared information via XML between JS and a server-side language. In the case of this book, it’s PHP.

In chapter 20 on PEAR and Web Services, he gets into how to use the services offered by Amazon, Del.icio.us, Ebay, Google, Techorati, Weather.com and Yahoo. In chapter 21, he touches briefly on Ajax. He does so from the standpoint that because it is becoming so prevalent, a PHP developer may need to know at least how it will interface with one’s server-side code.

Also in the last chapter, he covers some things to think about when designing PHP driven sites to be served up on mobile devices. You could think of the wireless realm like the old West. The dust is still settling, and no real consensus has been reached as of yet. Some people swear by Wireless Markup Language, being pioneered by the Open Mobile Alliance, whereas others stick by the W3C recommendation to use XHTML Basic. It should be noted that the OMA and W3C are not at odds. WML is in fact written in XML.

Well, I will wrap this up. Hopefully I was not too brief in highlighting what I thought was cool. Really, the whole book is very good, but to write a paragraph about every chapter would make for a really lengthy review. I would highly recommend this as a resource for any developers who want to really dig in and solidify their working knowledge of PHP and web services, or just want to explore the nuances and complexities of XML DTD’s and namespaces.

Discuss This Topic

  1. 1 James Mitchell

    Thanks Nathan. It looks like a good book and very comprehensive to boot.

    Also a sidenote, I have never actually opened up the DTD ever until today. Quite fascinating, almost beside myself that as a designer/developer I have never cracked the door on the file before.

     
  2. 2 Nate Klaiber

    Thanks again for a great review! I have been looking for a good, extensive, book on PHP and different web services. I think I will have to check this out!

    Though brief, it was still a good review!

    Peace,
    Nate

     
  3. 3 Nathan Smith

    James: Yep, it’s pretty cool. Previously, it was a bit of a garbled mess, but after reading this book, I can actually make some sense of it. Granted, you can always just trust the good old W3C validator too.

    Nate: For someone like you, with Zend PHP certification, I think this book would be a perfect fit. It really does take things up a notch, in terms of understanding how to make use of web services. I’ll admit it was a bit over my head at first, but hopefully I’ll be able to make use of it more in future projects.

     

Comments closed after 2 weeks.