
PHP stands for "Parser Hypertext Preprocessor" and is a server-side, HTML embedded scripting language used to create dynamic Web pages. And, because PHP is executed on the server, the client cannot view the PHP code. PHP can perform any task any CGI program can do, but its strength lies in its compatibility with many types of databases.
In my years at university I was taught how to program correctly, logically and structurally and what immediately hit me about this book by George Schlossnagle was how he elaborates on good practices to use in programming and he does it with enthusiasm. The book cover says the book is "A practical guide to developing large-scale Web sites and applications with PHP 5". But, as I've said, the book isn't just about PHP. As well as covering correct programming structure it covers many facets of the development process in building a maintainable website. I would suggest this programming "bible" is one which all PHP enthusiasts will want to own.
For the last few weeks, since we received a copy of this book, I have spent a bit of time working through it. The book teaches not only how OOP (object oriented programming) works in PHP, but it also shows in general how OO techniques apply to different situations (design patterns). And, I don't know about you, but I always ask myself when I read programming books "is this the best way to approach this task?" Not with this book though. There is something about the writer's style that instilled me with the confidence to "know" he was giving me the best possible examples of how to handle things with PHP.
The range of technologies covered is very wide, including Templates, Caching, Databases, Sessions, RPC (remote procedure call), Server Farms, Proxies, Benchmarking, Profiling, and Zend Internals. The chapters on design deal with PHP coding styles, design patterns, unit-testing, CVS (concurrent versioning system) and packaging, designing APIs (application programming interfaces).
The last hundred pages of the book are for really advanced users. The author covers the PHP extension APIs in more detail than the online documentation at php.net. This was all a little too tecnical for me but I felt comforted that it would all be there when I was ready to take it on and learn it.
While there are many books out there that will teach you PHP and the whys and wheres of developing small applications with it ... there is a serious lack of information on "scaling" PHP for large-scale, business-critical systems ... and this book fills that gap nicely. It is a book for serious PHP programmers and whilst I wouldn't recommend it for novices I would suggest they keep it in mind for when they have gained a little more experience. You can visit George Schlossnagle's personal blog here and read more about PHP and, of course, his new book.