Customer comments on this selection.
this book is for morons If you are not a moron, you will put this book down after page 17.
br /Pages 16 and 17 (in the first chapter!!!) have code examples trying to argue the use of for/foreach loops over while loops. They are absolutely absurd. If the opening pages of a book have bogus examples and completely false arguments for saying "one should use foreach over for over while", then what hope does the book have for someone wanting to learn something "advanced"?
br /
br /I am only submitting this review because of the absurdity of pages 16/17. I can not get past those pages. I can not believe this book has $49.99 on it. If I were a job recruiter, I would use page 16/17 as an idiot test--it has that much value, which might be worth $49.99 to recruiters fending off idiots.
br /
br /"For the sake of example" can only be used if the example makes some sense. On page 16, the example presents a function "is_prime" that takes a parameter $number and returns true/false if the number is prime. The function uses a "while" loop. The author argues against the use of while loops (versus for loops), and essentially says: if you have a moron add some completely bogus, moronic, idiotic code to your almost nice, relatively efficient, functional function named "is_prime", then a "for" loop would help make that function into "is_odd" with an extraneous for loop that is completely inefficient. The examples (more than ten lines long!) equate to:
br /function is_prime($number){ //although this is really is_odd
br / return $number % 2;
br /}
br /which has no loops, is way more efficient, and has nothing to do with using for loops over while loops. In this book, we see a bunch of nonsense about (what ought to be for advanced programmers) a TRIVIAL example of control structures (while/for) that are equivalent in most programming languages.
br /
br /
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!
Good INTERMEDIATE Book Note:
br /Beginning PHP programmers will be lost. Start elsewhere.
br /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'.
br /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.
br /
br /For beginners: *
br /For intermediates: ****
br /For experts: **1/2
br /
br /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.
br /
br /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.
br /
br /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.
br /
br /Final note: GREAT value.
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.
br /
br /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.
br /
br /Ultimately, I think I will become a better PHP programmer for having read this book.
br /
br /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 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.
br /
br /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.
br /
br /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.
br /
br /Do yourself a favor, spend your money on another book if you are intending to actually learn 'Advanced PHP Programming' from a book.
|