Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
PHP Books Media Programming Book Reviews

Professional PHP4 XML 94

SpinDoctor writes "Looking across the XML bookshelf today, it's easy to see many books discussing XML in a generic manner, or more commonly how to utilize XML within Java, .NET and Perl. Moreover, despite the broad based support that PHP has for XML, there has been no book that tackled the complexities and best practices, and at the same time offered a comprehensive resource to the XML-based APIs -- at least not until now. Read on for more about the best selling Professional PHP4 XML." Read on for the complete review.
Professional PHP4 XML
author Luis Argerich, Ken Egervari, Matt Anton, Chris Lea, Charlie Killian, James Fuller
pages 945
publisher Wrox Press
rating 9 (on a scale of 10)
reviewer SpinDoctor
ISBN 1861007213
summary In-depth and concise guide to using XML and related technologies within the PHP language

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 Scoop

True 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.

Summary

Overall, 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.

This discussion has been archived. No new comments can be posted.

Professional PHP4 XML

Comments Filter:
  • How can it be best selling if it just came out?

    Regards, Guspaz.
    • The same way records can say it 'Contains the #1 Smash HIT XXXXX'
      There some pretty loose standards here.

      It's kinda like when a movie has all of those 'expert' movie reviewers claiming it to be the greatest film of the season, or a sure oscar hit. They are from papers you've never heard of, or *gasp* from WWW sites like Ain't-it-Cool-News!

      The less recognizable the reviewer, the bigger the stinker the movie is.
  • PHP+XML+XSLT r4w|s (Score:3, Interesting)

    by rizzo ( 21697 ) <donNO@SPAMseiler.us> on Tuesday September 24, 2002 @10:34AM (#4319090) Homepage Journal
    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.
  • 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.
    • Why not a Cobol and XML book?

      Lots of old systems are still using cobol and there's probably a demand to link them to newer systems that already do use xml.

      (Confession: I don't and never have used cobol)
      • If it could rid the world of cobol it could be a good thing. Unfortunaly all the cobol programers (well a lot of them) made a fortune out of Y2K and have hung up their coding hats. The very little I know about cobol makes me think that it would probably work well with XML. But the very little I know about cobol makes me not want to go near it again EVER.
    • That's the point of XML.

    • How about a triple: "XML, Web Services, and Push".

      Then you can have all the things desperately looking for real world applications all in one volume.

      It makes it easier to ignore that way also, yet look hip at the same time.
  • This sounds promissing!

    A book with more than just "Hello World" examples!

    There must be a couple "professional" examples with 945 pages! There is only so much BS you can write about PHP and XML ...

    *Driving to book store to see if they have a copy*
    • by Anonymous Coward
      *Driving to book store to see if they have a copy*

      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>
    • Initailly I noticed the number of pages and was impressed. Then I read through the sample chapter and noticed how it looked like each page was a powerpoint slide or something. Plenty of whitespace, not enough information per page, IMHO.

      Anyone else notice this?

      • Not unless your size is an 18A
      • Re:945 pages! (Score:3, Interesting)

        by eddy the lip ( 20794 )

        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.

    • Re:945 pages! (Score:3, Insightful)

      by CaseyB ( 1105 )
      This sounds promissing!

      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."

    • Depends on how much you pay for the 945 pages. ;)
    • There must be a couple "professional" examples with 945 pages...

      Unless they filled it out with appendices. My first PHP book, "Professional PHP," also published by Wrox, weighs in at 909 and is actually a decent book. But it has a function reference appendix (68 pages) which is just a dump of the online manual (and less easily searched!). There is another appendix on HTTP (15 pages), which the majority of PHP users would never need to know beyond the headers. Also an "Ultimate HTML Database" appendix (96 pages) of HTML tags. I think the "professional" PHP user is already acquainted with HTML...It goes on. Let's not forget the page-consuming style of annotating code chunk-by-chunk and then displaying all in one blob.

      But maybe your point is that even if 50% of the book is fluff, that's leaves some 450 pages of good stuff. That's fair. But they seem to charge by the page, and if only 50% of the pages get read, that's not fair.
  • In your dreams (Score:3, Interesting)

    by Salamander ( 33735 ) <jeff AT pl DOT atyp DOT us> on Tuesday September 24, 2002 @10:46AM (#4319189) Homepage Journal
    Over the years, XML has...become an integral part of virtually every component within an enterprise application and developer tools that we use everyday.

    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.

  • by horza ( 87255 ) on Tuesday September 24, 2002 @11:04AM (#4319320) Homepage
    There is a PHP extension called XMLDOC [progressiv...ishing.com] (not a very good name, I know). It seems fast, though not yet tested under load, but its main advantage is its simple API [progressiv...ishing.com].

    Eg take example config file:
    <server>
    <type>Apache</type>
    <ip>127.0.0.1</ip>
    </server>
    The code to change the IP is:
    $xmldoc = load("config.xml");
    xml_setelementvalue($xmldoc, "server.ip", "192.168.1.1");
    xmloutput($xmldoc, "config.xml");
    Here is an example guestbook [progressiv...ishing.com] and its source [progressiv...ishing.com].

    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.
  • Does anybody know when/what XML support will be integrated into the default PHP package?
    • exactly. PHP is NOT ready for XML now, at least
      until DOM is not fully integrated into DEFAULT php
      that can be used as Apache module and throughly tested.
      It's a pity but it's reality and I hit it the hard way.
      IF (and only if) it will be integrated, it will be
      another chance - PHP is a good language and XML
      is a good technology.
      • ... and until the DOM-like API becomes a full-fleged DOM API, the SAX-like API becomes a full-fledged SAX API etc.

        PHPs XML-support is still weak. Then again, it's a good match with the rest of this half-baked language.

      • As both a Perl and a PHP programmer, I would agree that the DOM pieces need to more stanadards-compliant (read: finished), but I definitely do disagree that they should be part of the default language.

        The main reason that people want them as part of the default it that DOM, Sablo, and so many other pieces of PHP are so challenging to intall manually. As such, what I'd rather see is a much better method of building and installing extensions ala Perl's CPAN. The 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.

        • "I definitely do disagree that they should be part of the default language"

          Well, as far as I'm concerned, I can't build XML support into my project until it's a standard feature of PHP. I don't want to bother my users with having to install assorted packages. All they should need is the standard PHP install.

          -Scott

        • 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.
  • Buy the book on amazon [amazon.com]
  • This book was a genuinely great buy - reference for life and helped make design choices for me at work.
  • by tmark ( 230091 ) on Tuesday September 24, 2002 @01:48PM (#4320618)
    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.
  • Third-Generation Time-phase Implementation Tools for Scalable Enterprise Solution-based Efficiency Leveraging Logistics.

    These days, about half of all things XML are buzz, and half of the remaining half is just "This is XML. It is cool. You are besmitten with coolness" drudgery.

    I, for one, still don't know exactly what is XML and why it is so cool. I know it's some sort of data description language, but now why should it be better than the zillions of other data formats we've been using for the past decades ? That's what I don't grok. Does anybody have some down-to-earth explanation that will tell me _why_ I should read this book and _why_ it matters at all ?

  • In the past, I have been somewhat disappointed with the Wrox series of books. There is another book on the subject of PHP/XML titled simply "XML and PHP" published by New Riders. I have been very impressed with the quality of the content of all their other PHP-themed books and was wondering: Has anyone read/used this book and liked/disliked it?
  • As someone who has written a fair amount of php that accessed XML documents, this book is nice change from trying to figure out parsers, SOAP, XMLRPC, ect. from web based resources. I am currently working on a schedular for XMLRPC requests and I have only had the book for two days, and it has already paid for itself in saved time. This is much better than the proffession php book I got from them. I also turns out that I went to school with one of the authors at UNC chapel hill, small world
  • There are at least a couple of others; I have just started reading "XML and PHP" by Vaswani (New Riders, 2002) and it seems pretty good.

    There's also "XML Processing with Perl, Python and PHP" which I haven't looked at.
  • Oh! Yes...googly goog, this book covers the new DOM extension....and mind you the book came out in June!!!

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...