Pros: In depth treatment of PHP; useful projects; interesting
Cons: Made me feel like I was in grade school
Rating: 4 out of 5
First published 1/8/2002
Obligatory experience note: I am not an experienced web designer; I can only evaluate these books from a fresh perspective and hopefully give you information to help you make your own decision.
This is a very thorough beginner’s guide to PHP, but it does have a few habits that annoy me. It also has a few structural issues that just don’t appeal to me, although I imagine that some people will appreciate them.
Let’s Get the Annoyances Out of the Way
The book is written like a textbook. I don’t know if this is because it’s meant to be a textbook, or the publisher/author were just hoping that someone would use it as a textbook and drive their sales up. But regardless, you’re going to feel like a student when you read this book. There are “Mastery Checks,” with problems for you to do and then go look up the answers to later. There are “1-Minute Drills” that provide quick little questions that you’re supposed to be able to answer easily before moving on.
I’m sure there are people who will find this useful; maybe if I were still in high school it would have felt more natural. Instead, it contributed to an occasional feeling that I was being spoken down to. It also makes an assumption that you’re going to read each chapter as a whole. While I tend to read technical books from front to back, I know that many people don’t – they read the part that they need at the time and then use the rest as a reference book.
The feeling of being spoken down to wasn’t helped by occasional places where the author made an assertion that a certain way of doing things was the best way to do them, and then didn’t explain why (and I disagreed with him in some places). Or he briefly described something but didn’t explain why it was useful, what it did, or how it worked. I felt at times like I was being told the equivalent of, “don’t worry your pretty little head about that.” I prefer to be told what’s going on, so that I can make my own decisions about what is the right or the wrong way to do something. The PHP Visual QuickStart Guide did a very good job of telling the reader just enough about advanced topics that the reader had some idea of what to do with them (or whether to go find information on them); I wish this book had done the same thing.
On a very minor note, as a writer I found that seeing “object-oriented” used as a noun set my teeth on edge. Don’t be fooled by the huge page count, by the way. There’s a lot of white space in this book!
All That Aside…
All of that aside, however, this is a very useful book! While it missed a few important details that I got out of the QuickStart Guide, it also presented a bunch that weren’t in there. That book was meant to be a quick start to the subject, and this book is meant to be a much more in-depth treatment. It doesn’t cover all of the functions you might use, but it does cover an awful lot.
There are projects you can type in and watch the results of. There’s a fairly thorough treatment of designing useful web forms. There’s a “Relational Database and SQL Primer,” as well as a further chapter on relational database matters, both of which do a good job of introducing database concepts and meshing them with PHP matters. The book walks you through:
- Writing Basic PHP Programs (including troubleshooting, basic issues such as numbers and strings, creating HTML forms)
- Writing More Advanced PHP Programs (conditional statements, functions, arrays, strings)
- Working with Stored Data (cookies, files and directories, E-mail, basic database issues)
- Using Advanced PHP Facilities (more relational database material, classes and objects, debugging)
It also includes an appendix on installing PHP, another on available PHP resources, Unix essentials, a few basic security issues, and a whole appendix on the more common PHP functions – which makes a great reference work.
The material on relational databases interested me enough that I went out and bought a whole book on the subject. Most of the material is written in a clear, straightforward, and easy-to-understand manner. I felt that leaving the security issues for the appendix, however, caused the author to leave out a few basic (necessary) security suggestions that the VQSG covered.
While reading two beginning guides to PHP might seem a bit gratuitous, I felt that I got a lot out of it. The VQSG was more “honest” and straightforward, and very good at giving me a quick sense of what was going on, while PHP4: A Beginner’s Guide went into much more depth. Once again, the example scripts are useful and gave me some neat ideas. All in all, not a perfect technical book, but certainly worth its price.