Learning PHP Data Objects by Dennis Popel, published by Packt Publishing (© 2007) ISBN-13: 978-1847192660
This is a good start for PDO. The examples and methodology used to present the concepts for using PDO were very useful. The book steps you from the basic use of PDO in chapter 2, through error handling and a good discussion of prepared statements, on to the more advanced topics of PDO settings and transactions.
I felt transactions needed better treatment, including the fact that MySQL only does transactions with certain table types such an InnoDB. His examples in this chapter do not show he is using a transaction friendly table type for MySQL (sqlite is always). Nor does he explain why you would want to even use PDO transactions when your table type is not transaction friendly – it is implied that there is no benefit.
He finishes the discussion in chapter 7 by modifying his examples to better fit the MVC paradigm. Personally, I feel he should have just started with it instead of trying to modify the code but that is my prejudice. If he had, he might have had more room for those things he left out <rolls eyes>.
If this book had not been published by Packt, I would have been very disappointed in the content vs price – $40 for 154 pages on the topic. Since Packt does contribute to open source projects based on the book’s subject, I kind of forgive the cost.
However, the multiple times the author says “outside the scope of this book” kept reminding me that I paid $40 for such a short book. At least one time, I would have really liked to see more discussion regarding something he said was outside the scope, as if the book was already 900 pages long. I do give kudos to the author of at least having an appendix on OOP considering PDO is all about OOP – although I would have much more preferred to have also seen OOP techniques used throughout the code examples instead of a minor comment.
One other minor gripe I had, the use of short tags <?= ?> instead of <?php echo ?> throughout the code examples. It drove me crazy since I can’t use them and really wish I could (XML compatibility issues). And it also kept reminding me that the use of <?= is to save space and good grief, not like this book needed to save space. Anyone trying to use this code to learn will have to modify it if their php settings have short_tags off.
- Site Update Tomorrow
- I Need the Power