PHP 5 Objects, Patterns, and Practice (英語) ペーパーバック – 2006/6/1
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
PHP 5's object-oriented enhancements are among the most significant improvements in the 10+ year history of the language. This book introduces you to those features and the many opportunities they provide, as well as a number of tools that will help you maximize development efforts.
The book begins with a broad overview of PHP 5's object-oriented features, introducing key topics like class declaration, object instantiation, inheritance, and method and property encapsulation. Youll also learn about advanced topics including static methods and properties, abstract classes, interfaces, exception handling, object cloning, and more. Youll also benefit from an extensive discussion regarding object-oriented design best practices.
The next part of the book is devoted to a topic that is often a natural extension of any object-oriented introduction: design patterns. PHP 5 is particularly well-suited to the deployment of these solutions for commonly occurring programming problems. The author will introduce pattern concepts and show you how to implement several key patterns in your PHP applications.
The last segment introduces a number of great utilities that help you document, manage, test, and build your PHP applications, including Phing, PHPUnit2, phpDocumentor, PEAR, and CVS.
Matt Zandstra has worked as a web programmer, consultant, and writer for nearly two decades. He is the author of SAMS Teach Yourself PHP in 24 Hours (three editions) and a contributor to DHTML Unleashed. He has written articles for Linux Magazine, Zend.com, IBM DeveloperWorks, and php|architect Magazine, among others. Matt works as a consultant advising companies on their architectures and system management, and also develops systems primarily with PHP, and Java. Matt also writes fiction.
The OOP part of the book is a thorough covering of OOP from a PHP angle. It spends a little time discussing procedural vs. OO code, but assumes the reader is already convinced of the merits of OOP. It covers all the most important PHP OO ground quickly, but still explains each part in good detail - from the basics of Classes, Objects, and Inheritance up to and including OO design decisions, Polymorphism, and UML. This part of the book is, IMO, worth the purchase price for the succinct yet thorough coverage of PHP-slanted Object-Oriented Programming.
Part 2 of the book is a bit more verbose, as the subject content demands. It introduces the idea of Design Patterns first and goes over some design pattern principles. Then it jumps into the low-level design patterns for handling objects and their relationships, and representing tasks as objects. The last chapter in this part is called "Enterprise Patterns" but it somehow fails to adequately cover the King of Compound Design Patterns - MVC. The "Enterprise Patterns" are instead a PHP translation of a few J2EE design patterns. While this part of the book is very useful for solid PHP programmers beginning to approach Design Patterns, it is theory-heavy and shouldn't be used as a reference point for implementation of the patterns.
The last part of the book covers some useful PHP tools like PEAR, phpDocumentor, CVS and Phing. While these are all good tools, I was disappointed not to see Subversion or PHPUnit covered in more detail.
Each part of the book could be read independently of the others. It is a great theory book, but its ad-hoc and highly-specific code examples make it less useful as a reference. It's easy-to-read and concise style through-out mean you can simply read thru it to quickly and easily learn the theory without a computer on-hand, which is very helpful, too.
Any code I write from now on will be completely different and significantly better. I literally wish I had read this book instead of going to college.
Thank you Mr. Zandstra. You truly gave PHP and OOP the respect they deserve.
It's written very clearly and succinctly (which is more than I can say for most other writings on the subjects of objects, patterns & practices). I've seen whole books written (never mind LONG articles) on patterns, that the author covers in a few pages. It takes someone gifted to do that; it is only when one has a commanding and comprehensive knowledge of a subject that one can summarize it in a few words ... and provide examples that leave you thinking ... "ok, I can do that, too (now, that I "get it"). That's the feeling, you're left with ... after this.
Full object orientation has been awhile in coming to PHP ... and this book couldn't have arrived at a better time. I'm delighted, made much more confident ... and inspired by it.
GET IT ... or you will be the loser for not having done so!