This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version. Over the past three years PHP has evolved from being a niche language used to add dynamic functionality to small sites to a powerful tool making strong inroads into large-scale, business-critical Web systems. The rapid maturation of PHP has created a skeptical population of users from more traditional "enterprise" languages who question the readiness and ability of PHP to scale, as well as a large population of PHP developers without formal computer science backgrounds who have learned through the hands-on experimentation while developing small and midsize applications in PHP. While there are many books on learning PHP and developing small applications with it, there is a serious lack of information on "scaling" PHP for large-scale, business-critical systems. Schlossnagle's Advanced PHP Programming fills that void, demonstrating that PHP is ready for enterprise Web applications by showing the reader how to develop PHP-based applications for maximum performance, stability, and extensibility.
I read this book years ago when I was wanting to get a better grip on professional grade PHP programming. I'd already been programming in PHP for a few years and wanted to amp up my skills. I have to say, it was definitely worth the read and is still a valuable book today in the age of PHP5.
The techniques discussed in this book will help you become a better programmer and, while it doesn't cover any PHP5 information, it will teach you skills and tricks that will translate over very well. However, this is NOT a book for beginners. If you're not comfortable with the basic to semi-advanced parts of the PHP language, this book will probably be of little value to you. Also, if you're wanting to start your advanced journey at PHP5, there are probably better books out there than this from which to do so.
Overall, for it's time and even today, I think this book holds its value. Definitely worth a browse.
I've docked one star, due to errors in some of the C code in the later chapters (these appear to be editorial omissions and errors, but the point stands). However, I want to stress that this is one of the only books available covering the Extensions API and streams.
Nothing amazing, but better than PHP 5 Power Programming. Disappointed that the author pledges there will be no "foo" or "bar" examples, and breaks that promise only a handful of pages later.
Covers a variety of advanced topics such as design patterns, error handling, templates, unit testing, caching, databases, performance tuning and extending the language.
This is as good, if not better than "PHP and MySQL Web Development" by Luke Welling, which is excellent. If you've read and enjoyed Welling's book, this is the perfect sequel.
This book applies both to PHP 5 and PHP 7 (no PHP 6 exists) fairly well because of the large amount of overlap between the versions. This book is meant to build up experts at PHP development. It handles everything ranging from cookies, to APIs, to extending PHP via C. At 650-pages, it's a heavy read. There are lots of code examples as well as implementations of features (e.g., user authentication).
There is little that is cutting-edge in this book. It covers technology that still is useful but has been out for a while (hence the 2004 copyright). It falls short of being a classic. Nonetheless, the skills contained in this book are still useful to contemporary PHP development that continues to this day.
In particular, I found the benchmarking section helpful to my own PHP development. Schlossnagle taught me how I can track how much CPU time particular pages are using in my applications. This may not be useful for low-level websites, but it is helpful for larger applications that do some computation or database calls as a part of their feature set.
This book also has helpful texts suggested for further reading. Mainly books, not papers, are cited in these references. As a compulsive bibliophile, I like picking up on references to read further down the road.