Real-World Solutions for Developing High-Quality PHP Frameworks and Applications Paperback – May 10 2011
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
From the Back Cover
Develop high-quality applications and frameworks in PHP
PHP has risen to become one of the most popular programming languages in the world, making high-quality, sustainable applications and frameworks created in PHP more sought after than ever. Using real-world case studies from well-known companies, this valuable book presents the planning, execution, and automation of tests for the different layers and tiers of a web software architecture and explains how these companies measure and test the quality of their software. The authors and contributing PHP experts offer varying opinions as to how problems are solved so that you can benefit from different approaches prior to developing your own apps and frameworks in PHP.
Real-World Solutions for Developing High-Quality PHP Frameworks and Applications:
Looks at the characteristics of good internal and external software quality
Shares techniques for writing new code, changing and optimizing existing code, and finding and fixing bugs
Reveals bad testing practices so you know what to avoid
Addresses how to test service-oriented APIs, a WebDAV server, and many PHP frameworks
Reviews large-scale selenium-based testing and testing database interaction
Wrox guides are crafted to make learning programming languages and technologies easier than you think. Written by programmers for programmers, they provide a structured, tutorial format that will guide you through all the techniques involved.
Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world.
Find articles, ebooks, sample chapters and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you.
About the Author
Sebastian Bergmann is a cofounder of The PHP Consulting Company. He is a thought leader on software quality assurance and author of PHPUnit and various other tools. He is a sought-after speaker at conferences around the world.
Stefan Priebsch is a cofounder of The PHP Consulting Company, helping customers to improve their development processes and make better use of PHP. He is the author of various books and a frequent speaker at IT conferences.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
As if that weren't enough, this book also covers PHP frameworks but by no means relies on them. Just glancing at the table of contents was enough for me to buy this book--as there weren't yet any reviews written for it on Amazon.
After reading the first chapter alone--where the authors quote "Uncle Bob's" Clean Code book--I had a good feeling that I was reading something that would finally help PHP developers write truly good code.
I haven't made it through the whole book yet but it has already earned its way as my favorite PHP book, and I have read a lot of them over the last several years.
I am not a big believer in programming books. Over the years I have seen only a few that were worth reading, but Real-World Solutions (perhaps a shorter title would be nice...) is a great read. Read not reference. Most programming related books end up as "reference" which is generally useless in the world of Google and StackOverflow. Real-World Solutions is meant to be read, perhaps while looking at your own code and trying a few things out. I also suggest scanning sections that do not apply to you, or you have already mastered.
Most of the book focuses on testing. Unit testing primarily and this could be very dull. However the choice to have stories from real implementations by companies was smart. They also included sections of common problems with (my favorite) more that one suggested solution!
I wish there had been some reference to how the lone coder (such as myself currently) could implement a more agile methods. Also a listing of programs, frameworks, and tools with a one line description and then page numbers would have also been nice for those reading on the couch and then later recall the idea of a tool, but not the name.
Overall this book is great for:
PHP programmer learning or weak in testing knowledge.
A self-taught PHP programmer who wants to find some holes in knowledge (like me!)
Teachers who want to give students a programming book they might actually read.
A manager of programmers trying to find new ways to increase code quality.
From what I've read I'd say that this is for the most part a high quality book that gives a lot of good advice. It makes a strong argument as to why dependency injection is tremendously preferable to hard coded dependencies and it describes in detail the kinds of problems you can run into if you do hard code your dependencies.
There are some things in the chapters on testing that I think need to be addressed, though. The main one is it advocates direct testing of non-public methods (by subclassing the CUT to expose its protected methods as public). This can make the test fragile, as it's now making assumptions about the inner workings of the class instead of testing its API. Normally you should be able to change or completely remove non-public code without having to worry about the effect it has on the tests. If you're testing non-public methods directly, then you can easily break a test by changing or removing it, making the test fragile. Fragile tests are something the book argues against, with good reason.
If you exercise all the public methods of a class properly within your unit test, then all the non-public methods should also be exercised as well. If they are not, then this indicates that either the unit test isn't thorough enough, or that there is dead code in the CUT.
This is still, however, a very useful resource, and written to a much higher standard than most PHP books. I'd say it's a must-read, and would have given it 5 stars if not for the non-public method testing remarks.