Professional PHP4 XML 94
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.
Best selling? (Score:1)
Regards, Guspaz.
Re:Best selling? (Score:1)
"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.
Re:Best selling? (Score:1)
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)
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.
Re:PHP+XML+XSLT r4w|s (Score:1)
What's Next? (Score:2, Funny)
sorry for the lame joke.. just that i see XML everywhere nowadays.
Yes Cobol and XML could be useful (Score:1)
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)
Re:Yes Cobol and XML could be useful (Score:1)
XML everywhere (Score:3)
Re:What's Next? (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.
945 pages! (Score:1)
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*
Re:945 pages! (Score:2, Funny)
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>
Re:945 pages! (Score:1)
Anyone else notice this?
Re:945 pages! (Score:1)
Re:945 pages! (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.
Re:945 pages! (Score:3, Insightful)
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."
Re:945 pages! (Score:2)
Re:945 pages! (Score:1)
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)
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.
Re:why PHP? (Score:1)
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).
Re:why PHP? (Score:1)
If you need a well designed long living application choose java instead.
Re:why PHP? (Score:2)
Re:why PHP? (Score:1)
An XML module that has surely been missed... (Score:5, Informative)
Eg take example config file: The code to change the IP is: 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.
Re:An XML module that has surely been missed... (Score:1)
Re:An XML module that has surely been missed... (Score:1)
Re:An XML module that has surely been missed... (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
Re:Why XML? (Score:2, Informative)
Would you like to know more? [w3.org]
Re:"Professional" PHP? (Score:2)
I know it's made it hard for me to have much enthusiasm about PHP. As for an alternative, http://www.modruby.net
Re:"Professional" PHP? (Score:2)
Default, integarted XML in PHP? (Score:1)
Re:Default, integarted XML in PHP? (Score:1)
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.
Re:Default, integarted XML in PHP? (Score:2)
PHPs XML-support is still weak. Then again, it's a good match with the rest of this half-baked language.
Re:Default, integarted XML in PHP? (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.
Re:Default, integarted XML in PHP? (Score:1)
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
Re:Default, integarted XML in PHP? (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).
Re:Default, integarted XML in PHP? (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.
Re:Default, integarted XML in PHP? (Score:2)
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.
Book on amazon (Score:1)
Re:I already bought the book (Score:1)
Let's face it (Score:1)
Re:Best Selling? (Score:1)
I was underwhelmed by the prior edition (Score:3, Interesting)
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.
Re:I was underwhelmed by the prior edition (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.
Buzz Buzz Buzz (Score:1)
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 ?
The *other* PHP/XML Book - Any good? (Score:1)
This book is pretty sweet (Score:1)
other php and xml books (Score:1)
There's also "XML Processing with Perl, Python and PHP" which I haven't looked at.
Did you say bleeding edge?? (Score:1)