Professional PHP4 XML
Introduction
Over the years, XML has not only become a useful way to represent and transmit data in an application independent way, it has also become an integral part of virtually every component within an enterprise application and developer tools that we use everyday. Until two years ago, PHP has often been neglected when it came to extending the core PHP libraries to include any XML capabilities. Even further, there has often been a lack of written resources to guide PHP developers to learning these technologies as it pertains specially to the PHP platform.
Over time, however, many committed open-source programmers have developed extensions for PHP to include SAX, DOM, XPATH and XSLT support. Even further, many PEAR contributors and Sourceforge projects have included greater XML support for WDDX, XML-RPC, SOAP, Apache Xindice and many other XML-based technologies and applications. As new APIs were released, PHP really started to become a powerful platform to develop applications that were capable of solving many enterprise business problems. These improvements provided PHP with the power and functionality needed to compete with platforms like Java, .NET and Perl to create the open-source scripting language of choice, providing an easy-to-use and a powerful set of capabilities to developers all across the world.
The ScoopTrue to its title, Professional PHP4 XML is a rich guide and resource to using XML technologies within the PHP platform for intermediate to expert developers (spanning 945 pages). Although the book is intended for seasoned programmers looking to enrich their XML-related skills, the book does in fact include a primer on the core syntax and capabilities of the PHP language and fundamentals of XML to ensure the reader is able to understand and appreciate the book's content. Also, given the clear and concise writing style and the thoroughness of the book's content, novice programmers will be able learn a great deal and follow along naturally.
Unlike many books that briefly discuss a given technology and provide simple, but working examples, Professional PHP4 XML goes beyond these base requirements by supplementing the concepts and code examples throughout the book with a wealth of fascinating and useful information. The book accomplishes this by engaging the reader with innovative solutions to common, reoccurring problems as well as not so common problems that you'll find in the real world. In addition, each chapter provides a great deal of insight into:
- The overall architecture of the technology/standard itself,
- Clear design goals when using that particular technology
- Best practices to help the reader avoid common pitfalls, and
- Some heads up information on future changes in the XML libraries as best as can be predicted by the authors.
Each chapter also explores the various consequences to using a particular technology within an organization and how XML aids developers in simplifying the overall design and maintainability of enterprise applications. In a nutshell, this book enlightens the reader to improve their design techniques and current programming models rather than looking at trivial examples and function definitions that many sites on the web already provide.
The material itself is very well organized and flows in a logical progression that you'd naturally expect. The XML Fundamentals chapter provides the reader with the basic knowledge of data representation, markup languages and an extensive coverage of the syntax, rules and terminology of the XML 1.0 specification. It also provides a primer on topics such as DTDs, XML schema and namespaces.
The next chapter is a very rich catalog of all the XML vocabularies and standards developed prior to the book's publication. It provides an introductory coverage of markup languages like WML, SVG and RDF and parsing and transformation technologies like SAX, DOM and XSLT. Essentially, almost all derivatives are covered to provide the reader with 'the big picture,' which is commonly missed from many books.
The book continues with very detailed discussions on the core XML technologies: SAX, DOM, XPath and XSLT. It is designed to provide the reader with the theoretical concepts as well as the practical coding techniques and examples spanning just over 260 pages (not including the appendices at the back of the book). Thus, readers are not required to purchase a book on the general XML technologies or a book specifically pertaining to DOM or XSLT as Professional PHP4 XML covers each of the topics in very lengthy detail. Essentially, this book can pretty much stand alone by itself, but if you want a nice professional taster to PHP, then this book's parent: Professional PHP4 Programming is a good bet. You may also want to read this book's sibling: Professional PHP4 Multimedia Programming, which is replete with full case studies using PHPs multimedia extension libraries to build dynamic PHP front ends.
The last chapters of the book also feature detailed discussions on 'Syndicated Content' with a practical bent, inside insight on 'XML storage' and a case study to develop a calendar server using 'XML-RPC'. Another highlight of the book is the comprehensive reference section, including: PHP4 XML Language reference, Installation reference, SAX, DOM, XSLT and Xpath references and a primer on Object-Oriented programming with PHP.
What's To Consider?Although the review has been fairly positive up to this point, there are some minor problems with the book. First, some chapters were written better than others, as is the same with all multi-author books. Since Wrox strives to deliver up-to-date books on bleeding-edge technologies, it only makes sense that several authors must collaborate to deliver such a comprehensive book (also considering no single individual is an 'expert' at all these technologies). However, WROX has ensured that there is a consistent flow between the chapters to align each of them with the overall vision for the book. This is an evolving trend with new Wrox titles as we can see this from their new releases.
The last negative aspect of the book, although at no real fault to the authors or the publisher, is the chapter on SVG graphics. Although fairly good, this chapter will probably not be useful for many of the readers. Even now, there has not been a wide demand for the use of SVG graphics and many older browsers cannot even support them. With time, however, this chapter might prove to be more useful in the future.
SummaryOverall, whether you are a novice or highly skilled PHP programmer, Professional PHP4 XML will provide you with the very best in-depth and concise guide to using XML and related technologies within the PHP language. Perhaps you think you know XML very well, even within the context of PHP, but this book might surely surprise you with information that could only be provided by the experience gained through these XML-pioneering authors. I must say that Wrox and the authoring staff have done a wonderful job delivering such a great book and that I would sincerely recommend this book to any aspiring to advanced PHP developer.
You can read a sample chapter from the book online, and you can purchase Professional PHP4 XML from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
One of my sourceforge projects recently joined forces with some others, and I had the fortune of meeting some developers who were keen on php+xml+xslt. I thank the gods for this. I took me only a couple of hours to expand my php and xml knowledge to include xslt. I also learned that Sablotron is not the name of a Transformer.
Anyway for those interested in PHP and really separating the display layer from the logic layer, using XML and XSLT is handy, to say the least.
"More organs means more human." - Zim
Yes i'm going to write the next xml book, XML in COBAL.
sorry for the lame joke.. just that i see XML everywhere nowadays.
- tristan
Only if you define "enterprise" as "web". XML is making inroads in some enterprise applications, but there are still vast swaths of that territory where XML remains irrelevant.
Slashdot - News for Herds. Stuff that Splatters.
I belive that should more properly be stated:
<?xml version="1.0"?>
<action type="driving">
<location type="book store">
<purpose>inquire about a copy of <item type="book" title="Professional PHP4 XML">book</item></purpose>
</location>
</action>
Eg take example config file:The code to change the IP is:Here is an example guestbook and its source.
I wrote it for a client but it never got used, hence I made it public and freely available. I haven't had a chance to get on the PHP developers list and try and get it incorporated into the standard distro, but if enough people try it, like it, and email me... then I am prepared to put some effort into getting it put in place.
Phillip.
Property for sale in Nice, France
"HTML is about the display of content, XML is about creating, sharing and processing information."
Would you like to know more?
guru in training
That's the point of XML.
Best Slashdot Co
PHPs XML-support is still weak. Then again, it's a good match with the rest of this half-baked language.
Programming can be fun again. Film at 11.
That's typical of Wrox books in general. Good way to inflate the page count. Their author lists generally look impressive, too (oooh! ten people wrote this, each one in their specialty!), but you end up with a book that has no coherence. The handful of Wrox books that I picked up (before giving up) often repeated the same information many times; a result, I imagine, of each author not knowing what the other is doing and hasty editing. And their bindings sucked. Hefty page counts need good binding for what I put my books through.
This is the voice of World Control. I bring you Peace.
With very few exceptions, the value of a programming book is inversely proportional to it's size.
e.g. K&R C, vs. "Unleashing C in 21 days for idiots."
I bought the previous version, and was underwhelmed. There was a lot of fluff and whitespace; large chunks of pages devoted to offsetting images of webpages with nothing much in them.
One example: their shopping cart example was borderline trivial, and the majority of the code was formatting - which made it damn near impossible to follow the code for all the FONT and other HTML tags. I expect a book written for 'professionals' to give me tips-from-the-battlefield, NOT handwaving exercises.
If someone knew PHP (a seemingly fair assumption, given the title of this book), it seems like they'd be far better off looking for examples on the Net., or for another book.
While its target audience is different, I found O'Reilly's 'Programming PHP' to be excellent and I use it 20x more than the WROX book.
While I would be *slightly* more tactful, I have fund it absurd that PHP supports at least basic OO, yet still uses absurdly long function names. This is what OO in C looks like, and there's a reason that's not a very popular approach to programming.
I know it's made it hard for me to have much enthusiasm about PHP. As for an alternative, http://www.modruby.net
Depends on how much you pay for the 945 pages. ;)
"It's here, but no one wants it." - The Sugar Speaker
Answer: nothing. You already have tools that cover PHP's range of features (and then some), so PHP would buy you nothing (except that it would be somewhat easier, since it lacks all of the features you're used to having).
Dewey, what part of this looks like authorities should be involved?
he problem is that everytime I mention CPAN to PHP people, I get a canned "but PHP has PEAR" response, without them realizing that CPAN is both a repository _AND_ a method of adding modules to Perl AFTER a build and install of the core language. That ease and capability is sorely lacking from PHP.
not to mention the sheer amount of stuff available at cpan. it's down right amazing how much stuff is there. php has a fairly nice _looking_ front end to pear. i've seen screen shots of it, but i've never actually used it myself. after i picked up perl, i pretty much dumped php with the exception of stuff i have to work with that is written in php.
-- john
Heh another ill-informed idiot.
"Derp de derp."