1 of 1 people found the following review helpful
Beginning PDO, for Intermediate PHP Programmers,
This review is from: Learning PHP Data Objects (Paperback)This book works well for the intermediate PHP programmer who has researched application structure, and is beginning to focus on improving the database layer by standardising on PDO.
Commendably it keeps a tight focus, providing the minimum context in which to show PDO features: in this case a basic library program with simple PHP methods providing HTML. However in a later chapter it provides a useful example that shows the advantage of the model, updating previous code accordingly. It also saves time by assuming you have your environment set up correctly.
Design patterns vary, I believe the idea is that the reader should research MVC separation and other patterns, decide how to use them, then incorporate the PDO features from the book; it doesn't enforce a particular methodology you may not want to use. Conversely this is a disadvantage to less experienced PHP programmers, as they won't be served by the least-common-denominator code examples, which don't enforce separation of HTML and PHP.
I would recommend the book on the subjects of security and database correctness. Using prepared statements the book provides you with a robust way to avoid SQL injection. When something goes wrong, it explains how to handle the error correctly with exceptions, without exposing potentially harmful information. Even beginners should familiarise themselves with these new features. For mission-critical database operations, it elaborates on transactions, which weren't a feature of the PHP 4 extensions, and are either handled natively or emulated with PDO. Again it doesn't let focus drift into validation, which isn't provided by PDO, so only cursory hard-coded examples are given.
If you prefer the task-oriented approach to learning, you'll like this book. It provides code and screen-shots to guide you through each step. If you're an advanced PHP programmer, there are a few things you may find interesting, such as the lesser known PDO configuration options, and BLOB support, but really I find this book aimed more at the intermediate procedural programmer. Indicative of this is the succinct "Introduction to OOP in PHP 5" appendix. If you supplement this with other application design literature and integrate the PDO techniques in the book, you'll certainly be another step towards making your systems more flexible and maintainable.