Slashdot Mirror


Professional PHP4 XML

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.

49 of 94 comments (clear)

  1. Best selling? by Guspaz · · Score: 1

    How can it be best selling if it just came out?

    Regards, Guspaz.

    1. Re:Best selling? by Guspaz · · Score: 1

      Look in the article:

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

      It simply says that there were no books regarding PHP and XML until now. So my deduction is that it must be the first edition.

      Regards, Guspaz.

    2. Re:Best selling? by gurnb · · Score: 1

      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.

      --
      "This must be a Thursday, I never could get the hang of Thursdays."
    3. Re:Best Selling? by slashdot_fer_me · · Score: 1

      Trust me! Amazon is not the be it all and end it all of book sales...you are forgetting the shop around the corner

  2. PHP+XML+XSLT r4w|s by rizzo · · Score: 3, Interesting

    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

    1. Re:PHP+XML+XSLT r4w|s by i_am_real_php_GOD · · Score: 1

      Pity!! you ain't following PHP's development. PHP is rapidly expanding at the rate of 6.5% every month and is steadily coasting towards the enterprise.

  3. What's Next? by OmniVector · · Score: 2, Funny

    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
    1. Re:What's Next? by Tablizer · · Score: 3, Funny


      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.

  4. 945 pages! by mustangdavis · · Score: 1

    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*

    1. Re:945 pages! by Anonymous Coward · · Score: 2, Funny
      *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>
    2. Re:945 pages! by JohnCub · · Score: 1

      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?

      --
      -= Why can't I add 'Anonymous Coward' to my list of Foes? =-
    3. Re:945 pages! by piece_of_cake_koblas · · Score: 1

      Not unless your size is an 18A

    4. Re:945 pages! by eddy+the+lip · · Score: 3, Interesting

      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.

    5. Re:945 pages! by CaseyB · · Score: 3, Insightful
      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."

    6. Re:945 pages! by Etriaph · · Score: 2

      Depends on how much you pay for the 945 pages. ;)

      --
      "It's here, but no one wants it." - The Sugar Speaker
    7. Re:945 pages! by sympleko · · Score: 1

      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.

  5. In your dreams by Salamander · · Score: 3, Interesting
    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.

    --
    Slashdot - News for Herds. Stuff that Splatters.
  6. An XML module that has surely been missed... by horza · · Score: 5, Informative
    There is a PHP extension called XMLDOC (not a very good name, I know). It seems fast, though not yet tested under load, but its main advantage is its simple API.

    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 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.
    1. Re:An XML module that has surely been missed... by greyspc13 · · Score: 1

      looks wonderful, i could have used it months ago, but i thank you for it now

    2. Re:An XML module that has surely been missed... by smileyy · · Score: 1

      Its a shame they chose "server.ip" rather than the more XPath-like syntax of "server/ip".

      --
      pooptruck
    3. Re:An XML module that has surely been missed... by EvilSuggestions · · Score: 1

      I'll second that motion! Reinventing the language wheel is so pointless when XPath is such a nice set of wheels!

      Seriously, like so many other languages and query syntaxes, XPath has matured to the point where it's starting to take care of some of the issues that are important but non-obvious early on. Any new query/node-selection syntax would have to spend a while stumbling around before it noticed some of these needed subtlities

      --
      "There is a thin line between ignorance and arrogance, and only I have managed to erase that line." - Dr. Science
  7. Yes Cobol and XML could be useful by AngusH · · Score: 1

    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)

    1. Re:Yes Cobol and XML could be useful by jez_f · · Score: 1

      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.

  8. Re:why PHP? by sglane81 · · Score: 1

    JSP for web page generation, servlets as my logic and any scripting and customizing is being used by either Perl or Python

    You can do all that in PHP and not need Python, PERL, and Java for your website. I have been working w/ PHP for three years now, but, I went out and learned Java over thae last week. However, I am still using PHP as my scripting/web language because it is lightning fast. Basically, just use the best tool for the job (whatever that may be for you).

    --
    This is the Internet. You can say "fuck" here. - AC
  9. Default, integarted XML in PHP? by turnstyle · · Score: 1

    Does anybody know when/what XML support will be integrated into the default PHP package?

    --
    Here's what I do: Bitty Browser & Andromeda
    1. Re:Default, integarted XML in PHP? by WetCat · · Score: 1

      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.

    2. Re:Default, integarted XML in PHP? by __past__ · · Score: 2
      ... 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.

    3. Re:Default, integarted XML in PHP? by EvilSuggestions · · Score: 1

      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.

      --
      "There is a thin line between ignorance and arrogance, and only I have managed to erase that line." - Dr. Science
    4. Re:Default, integarted XML in PHP? by turnstyle · · Score: 1
      "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

      --
      Here's what I do: Bitty Browser & Andromeda
    5. Re:Default, integarted XML in PHP? by EvilSuggestions · · Score: 1

      XML, CGI, and the DBI database interface are not part of the standard Perl install yet no one has any trouble supporting Perl projects relying on them.

      Of course, that's because it's way easier to add things later to Perl than it is to initially build PHP (or add things later to it).

      --
      "There is a thin line between ignorance and arrogance, and only I have managed to erase that line." - Dr. Science
    6. Re:Default, integarted XML in PHP? by chromatic · · Score: 1

      CGI.pm has been a core Perl library for years. An XML processing library and the DBI will probably never be in the default install, though.

    7. Re:Default, integarted XML in PHP? by gimpboy · · Score: 2

      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
  10. Re:Why XML? by kliklik · · Score: 2, Informative

    "HTML is about the display of content, XML is about creating, sharing and processing information."

    Would you like to know more?

    --
    guru in training
  11. XML everywhere by wiredog · · Score: 3

    That's the point of XML.

  12. Book on amazon by i_am_real_php_GOD · · Score: 1

    Buy the book on amazon

  13. Re:I already bought the book by i_am_real_php_GOD · · Score: 1

    Second you.It's refreshing to see a PHP book other than the PHP MySQL shit loads that sell on amazon.

  14. Let's face it by piece_of_cake_koblas · · Score: 1

    This book was a genuinely great buy - reference for life and helped make design choices for me at work.

  15. Re:why PHP? by khartlage · · Score: 1

    I'm using both Java and PHP and I think that PHP has numerous advantages if you need simple scripts for a database (especially mysql) or a simple web page.
    If you need a well designed long living application choose java instead.

  16. I was underwhelmed by the prior edition by tmark · · Score: 3, Interesting

    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.

    1. Re:I was underwhelmed by the prior edition by tangledweb · · Score: 2, Informative

      There is no prior edition, which as others have pointed out makes the review's "best selling" claim a little silly.

      There are other books in the same series, that have one or two authors in common, but no prior editions.

  17. Re:"Professional" PHP? by PythonOrRuby · · Score: 2

    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

  18. Buzz Buzz Buzz by billcopc · · Score: 1

    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 ?

    --
    -Billco, Fnarg.com
  19. Re:why PHP? by Just+Some+Guy · · Score: 2

    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?
  20. The *other* PHP/XML Book - Any good? by essell · · Score: 1

    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?

    --
    i swear my userid used to be lower.
  21. This book is pretty sweet by phpsocialclub · · Score: 1

    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

  22. other php and xml books by laurat · · Score: 1

    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.

  23. Did you say bleeding edge?? by slashdot_fer_me · · Score: 1

    Oh! Yes...googly goog, this book covers the new DOM extension....and mind you the book came out in June!!!

  24. Re:why PHP? by Omoll · · Score: 1

    On the whole, PHP can achieve the same performance as JSP on much less hardware. That doesn't make JSP worse, of course. There's nothing inherently better about any language: it depends on your circumstances.

  25. Re:"Professional" PHP? by NanoGator · · Score: 2

    Heh another ill-informed idiot.

    --
    "Derp de derp."