Top positive review
Clear, conversational, makes PHP look easy.
on February 7, 2001
I wasn't going to review this book until I read Robert Peters' review. It is factually incorrect. I had to respond. I can only guess that Robert got a copy of the FIRST edition, which apparently ... This second edition is great.
First, Robert suggests that the book is "just a fat manual that lists functions" -- like a reference. Part 2 of the book is indeed titled "Functional Reference" and consists of 450 pages of functions (with sample code for most functions, organized into logical sections, like "Image Functions" and "Database Functions"). However, the book has THREE other parts, consisting of 300 more pages!
Part 1 is titled "An Introduction To PHP" (7 chapters, about 120 pages). It teaches the fundamentals of programming, has tons of screenshots and sample code, and is written in a conversational style that makes it easy to understand the technical stuff. The author's explanation of variables (page 16) is good, and he also covers loops, functions, arrays, etc. If Robert's other criticism of the book, that "it won't teach you how to use the language" is true, then what is all of Part 1 for?
Part 3 is titled "Algorithms" (5 chapters, about 100 pages). It steps you through real-world examples, and while none of the examples are huge (like "here's a complete e-commerce shopping cart solution"), they are all practical and can be combined to create what is needed. For instance, modify the discussion forum sample on pages 635-641, combine it with the code samples for session handling, and you could allow users to enter and store "preferences" for your Web site, or you could allow users to append comments to articles, like ZDnet does.
Part 4 is titled "Software Engineering" (3 chapters, 80 pages). It addresses one of the big controversies with server-parsed HTML, and that is: "gasp, you've combined code with HTML!" The author talks about why it is an issue, and outlines different ways to embed PHP in HTML. I don't like his conclusion (turn everything into PHP and use "print" to output HTML), but I must admit I am elated to see someone discussing the issue.