29 January 2010
This is the second "advanced" PHP book that I've reviewed. The first was Wicked Cool PHP Scripts. This is the advanced series relating to the Visual QuickStart Guides.
Advanced PHP 5 covers a number of different topics designed to take the proficient PHP programmer a bit further. This provides a good founding into some additional areas that are beyond the scope of most beginner PHP books.
This is a good book and I've learned some new techniques and tricks from this book. There are a few specific items worth extra mention.
One thing that differs from other advanced PHP books is that there is no real discussions of template systems in the book. It is mentioned briefly, but then dismissed by the author as he doesn't use them. I think this has pros and cons. Template systems have their admirers who sware by them and then others that choose to do their own thing. I think I'm with the author on this one. I've always used my own embedded PHP files in preference to using a full templating system, and although I've heard about them in other books I've not really seen the need to use them over my own designs. This may dissapoint some that would expect templating to be covered in more details in an advanced book.
One thing I didn't think was so good was the discussion on security. The book discusses the importance of security, but then discourages the use of regular expression due to efficiency, despite acknowledging that they can be more secure. With the processing power of most web servers being pretty high these days I personally believe that a few extra cycles spent on security checking are worthwhile. This may have a negative impact on very busy servers, but that performance vs. security trade off should only be considered where neccessary. Maybe that's just me because of my IT security background.
The book has an exellant section on OO programming in PHP 5. It doesn't try to oversell OO programming acknowledging that it's not for everyone. The book provides theoretical examples as well as real practical examples and explains this in a clear and effective way. If you are looking to implement OO in PHP (or integrate other peoples code / modules that are OO based) then the book is worth buying for that aspect alone.
The book uses the example of an ecommerce site as it's main proejct theme. It includes most things you need to know to create a simple ecommerce site and points you in the right direction for everything else (eg. payment schemes), so in that aspect will have real world practical use for many programmers.
A good book for anyone that has gone beyond the beginner level, and want to improve on their techniques.