PhpRiot
Browse Articles
Ajax (4), APC (1), CAPTCHA (1), CSS (3), Debugging (1), File Upload (1), Google (3), Google Maps (2), JavaScript (11), JSON (2), MVC (1), MySQL (6), onbeforeunload (1), OOP (1), PHP (27), PhpDoc (1), PostgreSQL (6), Prototype (10), Reflection (1), RFC 1867 (1), Robots (1), Scriptaculous (1), SEO (1), Sessions (1), SimpleXML (1), Smarty (5), SOAP (1), SPL (1), Templates (2), W3C (1), XHTML (1), Zend Framework (1), Zend_Search_Lucene (1)

Buy My Book
Practical Web 2.0 Applications with PHP

Practical Web 2.0 Applications with PHP

Want to assert yourself as a cutting–edge PHP web developer? Take a practical approach...

Advanced PHP Programming (Developer's Library)

Advanced PHP Programming (Developer's Library)
  • Media: Book (Paperback, 672 pages)
  • ISBN: 0672325616
  • Publisher: Sams
  • Release Date: Mar 1, 2004

Buy from Amazon Buy from Amazon


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.


Rating: 2/5 Do not buy this book

Do not buy this book. There are so many script examples in this book that do not work, let alone there are many weak and sloppy algorithms and code logic structures the author introduced. If you already bought this book, see his script example in Chapter 13 (A Sample Authentication Implementation), try to read line by line in his Cookie class example, can you find any flaw? Well, there are many them in this tiny/simple class, but i can just ignore and pretend to think that the author did not have enough time to test his own scripts before he put them in his book...but the algorithm/logic structures of the codes that bothers me! Weak algorithm, bad code control structure can lead to a buggy application that is not easy to debug!
Submitted 18 Dec 2007

Rating: 4/5 Good INTERMEDIATE Book

Note:
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.
Submitted 15 Jul 2007

Rating: 5/5 A must read for intermediate level PHP Programmers or above

This is a hefty tome, weighing in at 650 pages chocked full of great information about advanced PHP programming. The book is divided into five sections each with several to many chapters. The sections are Implementation and Development Methodologies, Caching, Distributed Applications, Performance, and Extensibility. Where appropriate sample applications are developed to present a point, in other situations a higher level approach is taken.

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.
Submitted 29 May 2006

Rating: 2/5 Nice Survey Book / Not Great

I agree with other reviewers that this is a survey or concept book. Schlossnagle is a bright php programmer but a lousy teacher. Do not buy this book if you are hoping to learn 'Advanced PHP Programming' from it. This book is too superficial in it's coverage of the many subjects. Ie: Schlossnagle's coverage of Object Oriented Programming is less than six pages (why bother?), and does not adequately cover the basics.

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.
Submitted 9 Jan 2006

Rating: 5/5 The Elevator from the Intermediate Level to the Professional Level

Read on if you are:

- 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.
Submitted 5 Oct 2005

You May Also Like ...



AJAX and PHP: Building Responsive Web Applications

Pro PHP Security


High Performance MySQL: Optimization, Backups, Replication, and More