/.ed … again
Lightning strikes twice. To save having to actually read the comments, just head to Neil Blender’s summary – only 6 fuecks jokes – I’m surprised ;) You should see the warm (hysterical in fact) welcome I always get from ground staff at JFK, on those few occasions I’ve been to New York. Thanks to Mathew for the favorable reviews.
In general I’d say the Anthology is “Intermediate PHP Programming” rather than advanced. The styles of the books are distinct, the Anthology taking a Q&A approach aimed at solving common problems which Advanced PHP Programming is more narrative. There is some cross over at the end of PHP Anth II, where it get’s into stuff like API documentation, unit testing and design patterns but aims to be more introductory, for readers who haven’t run into the concepts before. Certainly stuff like performance issues gets a far more thorough handling in Advanced PHP Programming. Personally think you could own both without wasting your money. That said if you’re a PHP veteran (e.g. you fully understand how references work in PHP4) the PHP Anthology probably isn’t for you.
While I’m on the subject, thinks there’s a whole section of books in PHP that no one has really written yet, focused on PHP application design (“strategy”) vs. “tactics” which is well covered today. Back in June 2003 another /. post asked for Elegant PHP Architectures?;
I am left with the feeling that all of the sites I have created are 50% elegance, and 50% nasty kludge.
In discussing PHP “tactics” it’s easy to give “absolute” answers, which is I guess what people expect from a book. Talking about design “strategy” is an entirely different matter and I would essentially require the author to admit upfront that “I could be wrong” or “I’m not sure but here’s what worked for me”. Was very concious of this while writing the PHP Anth and veered well clear of subjects like frameworks (and even templates).
The problem is also opinions different wildly on what actually works. Ask Rasmus and Marcus to write books on this subject (good if they good) and you’d get two very different results, both likely to be equally valid.
Before anyone leaps on this as fuel for anti-PHP flames, think this is actually a problem afflicting all web development, whether you’re working with PHP, Perl, Python, Ruby on Rails, .NET, J2EE or whatever – see Web Applications: still no ideal architecture.