PHP4 Web Development Solutions
In brief: The book, after some expository material, details 11 projects of increasing complexity. They use PHP, MySQL, PEAR::DB, Smarty and PHPLib. The target audience, according to the book jacket, are programmers who already have a good knowledge of PHP, SQL Databases and XML. Frankly, I think they overdo the amount of experience you need to use and benefit from this book. If you are on top of all those topics well enough to consider yourself "professional" then this book may be too simple. If, on the other hand, you are, like me, conversant with PHP and SQL but would like to take yourself up to "professional" use of technologies like XML, templating and WAP enabling then this book will be good.
What's Good About This Book
The book is stuffed full of code examples -- and while you can download them in a ZIP file of over 3Mb you shouldn't think of this book as a "cookbook" as such. It shows various methods for performing most of the tasks you need to build solid backend web site systems to deal with a large variety of data. The projects cover importing and exporting of XML, messaging systems, forums, content management, using templates for both HTML and WML, search facilities and both simple and complex content management among other topics.
The projects are well designed. I'd have to say that among the 11 projects most web site requirements are covered somewhere. The code is well engineered and some thought has gone into making it readable, understandable and useful. The explanatory material is well written, if too short.
One thing I did appreciate about this book is how much they left out. No coverage of PHP fundamentals, SQL fundamentals and simple stuff like web forms might be covered once, at most. I certainly didn't need another book on my shelves explaining the basics.
What's Bad About This Book
My largest criticism of this book is one shared by too many modern titles for computer programmers; there is too much explanation and too much repetition. The section on SQL is the perfect example. Most projects contain some tables describing each database table, a diagram of the relationships and then the full SQL required to build them, their indices and some example data. For their proposed target audience this is way too much information, and as it is safe to assume that everyone who buys this book has a decent 'net connection, why put a printout of SQL available online in a PHP book? I could have easily written the SQL myself and having it in the book doesn't make it much easier and since it was available online it was a total waste of space.
I also have to take exception to, an (admittedly short) chapter devoted to installing and configuring PostNuke. It gives you no more information on this simple task than the online documentation. As someone who has installed PostNuke a couple of times and never needed any assistance beyond the readme files (and the first was long before I considered myself a good PHP programmer) I felt this was a complete waste of space and not "web development" at all.
My final criticism is once again shared by too many modern titles, there isn't really enough discussion of the design decisions and complications. There are enough code examples and walk throughs to satisfy anyone, but not enough key design decisions are discussed at all, with only a few short examinations of any real design problems. I would have appreciated some walk throughs of such things as code that was too slow, problems with race conditions, methods for mixing static and generated parts of a site and all the real world stuff that intrudes when your site gets slashdotted and that code that was so neat with a hundred visitors a day becomes a thousand. Then show how the code they provide is better, avoids the problems and how to get my code to the same state. Since this book is "professional" a little more real world, please.
You can purchase PHP4 Web Development Solutions from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
I've been using Perl and XSSI for all my active web page content for a couple of years now. Is there any compelling reason for me to learn PHP?
I really don't want to start a flame war here, but what are the advantages of PHP over the Perl/XSSI combo?
Follow the adventures of the new wandering jews
It depends. PHP 5 will be a step forward for OO developers. We are working on a UML module for PHP (4 at the moment) here, and I think the differences are noticable (and are causing us a couple of problem in areas like PHP parsing).
I used to be a huge fan of Wrox books.. my bookshelf is filled with many of their older "big red books". One of my favorite technical books ever is their Professional SQL Server 2000 Programming book.. but it was written by ONE author -- Robert Vieira. The books chapters flow smoothly, the author is well-informed, has a great way of presenting the information (much like a conversation) and the book overall is a pleasure to read. Wrox's newer books, including the one reviewed above, have too many authors. They are often disjointed as each chapter is written by one author. "Too many cooks spoil the broth" applies here so well. I've moved on to a new favorite publisher -- Addison-Wesley. Their books are often more advanced and although they are often used at Universities, their books are written very well and aren't too "textbookish". I find that Dietel Press and O'reilly are too textbook-like. I used to love Wrox's conversational style of writing that most of the authors had..but its just not the same. Some of Wrox's reference books are well written and have many authors that created the book, but they are just a reference. You don't need flow. In conclusion (;) if I need anything other than a reference, I'll consider a Wrox book if there are one or two authors..but anything more than that, and I'm looking more closely at Addison-Wesley, Apress and Morgan Kaufmann.
I agree, I don't like the wrox style either.
Being a sad php-geek, I buy pretty much all the PHP books which come out, but the ones I use the most are the O'Reilly ones, (partly because they are written by the PHP team).
However the best one [IMHO, IANAL etc] for learning and as a reference is the one by Atkinson, by Core.
Well edited, with well thought out examples.
If you can hold out, PHP5 is not that far off.
Humorous signatures are over-rated.