Advanced PHP Programming (Developer's Library)
- Media: Book (Paperback, 672 pages)
- ISBN: 0672325616
- Publisher: Sams
- Release Date: Mar 1, 2004
Product Description
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.
Do not buy this book
Good INTERMEDIATE Book
Beginning PHP programmers will be lost. Start elsewhere.
Intermediate PHP programmers will learn a lot regarding technical details and good coding and design practices, but not enough to advance them to the level of 'Expert PHP Programmer'.
Expert PHP programmers should know most of the technical details found here, but they will likely learn a bit about good coding and design practices.
For beginners: *
For intermediates: ****
For experts: **1/2
I am an intermediate PHP programmer, so this book was perfect and extremely helpful for me. I can say that I was very impressed by this book for a few reasons. For one, it provides a nice overview of many useful topics (many of which are not exactly "advanced") such as object-oriented programming, error handling, templates, unit testing, caching, authentication/security, session-handling, remote procedure calls, performance analysis, and writing extensions. However, they are mostly just overviews. It gives the reader a good starting point regarding the various topics and introduces less experienced PHP programmers to the various topics which they may not have been concerned with formally. Unfortunately, even for an overview, a few of the sections were a bit too slim. Object-oriented programming was only touched on and some important topics related to object-oriented PHP were omitted. Also, remote procedure calls received so little attention that they might as well have been omitted. Other sections do a better job. The benchmarking and profiling sections were quite informative as were the sections on error handling (sort of) and unit testing. They aren't comprehensive, but I know that I personally learned quite a bit even though I eventually had to seek out additional references. Regarding the various "advanced" PHP topics, the book is basically a jack of all trades, master of none. The book deserved to either be longer, split up into more than one volume, or it should have had a smaller scope. Still, it does a good job at providing an intermediate PHP programmer with plenty of introductory information on these "advanced" topics. It won't make you an expert PHP programmer, but it will set you on the right path.
There are two main reasons that I liked this book: the clarity of explanations and examples and the strong emphasis on good programming and design practice. Nowhere in this book did I ever feel close to being lost and I can say that the author does an outstanding job at describing the concepts and he chooses good, fairly simple examples. Also, good practices are strongly emphasised through this book. Unfortunately, good practices and technical details are often treated separately in many books if good practices are covered at all. Here, the author never loses sight of this. Even when he gets into the dirty details, he constantly reminds the reader that some paths to the same goal are better than others and he clearly explains why. For this reason, I would even recommend this book to expert PHP programmers who probably already know most of the technical details, although the book is most useful for intermediate PHP programmers like myself.
In summary, this book is best for those who know the basics of PHP but are not yet experts. You will learn just enough technical details to prepare you for the next level even if this book won't take you to that level. Also, this book will help almost anyone write cleaner, safer, better-designed programs, expect for beginners who would not be able to follow the examples and topics.
Final note: GREAT value.
A must read for intermediate level PHP Programmers or above
Covered within various chapters are topics like Error Handling, Unit Testing, Computational Reuse, Session Handling, Benchmarks, Profiling, and detailed information on how the Zend Engine works. While I've used or learned about several of the topics covered within, I think I learned something (whether it was a new approach, completely new information, or a refinement to what I already believed) in every single section.
Ultimately, I think I will become a better PHP programmer for having read this book.
I will be recommending this book to all my friends, and basically to everyone of an intermediate skill level with PHP or above. My friends are going to need to buy their own copy though, as I will not let this one out of my sight.
Nice Survey Book / Not Great
This book is good for introducing you to things you may not have thought of before. Ie: I liked the section on exceptions but found it too brief and assumed too much. I was therefore forced to read other materials, including the official php manual, before I had a real grasp of exceptions.
Larry Ullman does a much better job of explaining subjects. His PHP Advanced for the www (first edition) is an excellent book to actually learn from. Unfortunately it is a little dated and the second edition is still a couple months away.
Do yourself a favor, spend your money on another book if you are intending to actually learn 'Advanced PHP Programming' from a book.
The Elevator from the Intermediate Level to the Professional Level
- Used to PHP programming, but not a very sophisticated programmer.
- Looking out to do more programming on a higher level.
- Ready to read through book texts three times and to read further material that is not included in the book you buy.
Schlossnagle's book is not written along one red line, it covers various topics and allows jumping around quite freely. However, the topics that it covers are highly efficient in helping you advance with your programming skills. They might not quite be what you'd expect from a PHP book, because actually Schlossnagle covers anything that is needed to work with PHP on a professional level.
Consider this list of topics:
- Write clean code
- OO-Design Patterns
- Project documentation
- Performance tunings
This is all not really PHP-only stuff, but it is a great source of inspiration and furthers the understanding of programming in general very much. The latter I find is necessary for everybody who's up to something bigger in PHP.
The PHP examples in the book are - I have to admit - maybe sometimes rather scarce. One would like to see more applications of abstract problems, more examples. But is that what a book is for, to give examples?
I don't think so. For me a book is mainly a source of great ideas from great programmers, anything else is available on the web.
After having bought "Advanced PHP Programming" I purchased other books, the topics of which I would not have considered without reading Schlossnagle's work. I'm just about to write a diploma work and the book is a great reference for anything concerning PHP and development projects.







