『Web Application Development with PHP 4.0』はありふれた言語指導本ではない。著者、ラトシラーとゲルケンは、すでにPHPに堪能であるが上級プログラミングテクニックとハイレベルなアプリケーション開発技術を必要としているコーダーにアピールするよう、本書の内容を意図的にデザインした。しっかりとしたプログラミングの基礎がある読者を対象にした、1レベル上のPHP教本であると言えるだろう。
As Web sites and intranets become larger and more complex, static HTML files hit their limits. In the first part of Web Application Development with PHP the authors explain PHP's advanced syntax like classes, recursive functions and variables. They present software development methodologies and coding conventions which are a must-know for industry quality products as well as to help making develop faster and more productive. This part covers also many standard algorithms for tree-structures, string sorting and searching. Part Two focuses on the concept of Web Applications (as opposed to single scripts) and gives much insight into user and session management, e-commerce systems, XML applications and WDDX.
The authors write about development concepts, PHP's advanced syntax, application design, web application concepts and strategies, the Phplib, XML applications, and extending PHP with C. While presenting a lot of extremely valuable information in a condensed format (for example, most longer code examples are not printed in the book but can be found only on the CDROM), the authors still write in an easy and friendly manner. You always see that they really know the PHP language, and that they love working with PHP - indeed, both are well respected in the community. The quotes from the Dao De Jing (or Tao Te Ching) really add atmosphere to the book and bring up the level of Perl's Camel book. A definitive thumbs-up for this excellent title!
Chapter 1, "Development concepts", has nothing to do with PHP, and adds little value. The topic is much better covered by "Code complete" by McConnell and "The practice of programming" by Kernigan and Pike.
Chapter 2, "Advanced syntax", touches on several small aspects of PHP syntax, and several selected data structures (linked lists and assosiative arrays). Since PHP does not present any difficulties in expressing these data structures compared to other programming languages, I didn't understand why those data structures were chosen here. The chapter also has an interesting example of self-modifying code (actually, dynamic code evaluation at run-time, which is not an unexpected feature for an interpreted language), and then warns "The technique used here ... should never be used like this in production scripts."
Chapter 3, "Application Design: A real-life example" presents a PHP-based IRC char server. Although authors show several interesting programming tricks, this is not a type of application one would consider "typical" for PHP. Interesting, but hardly useful.
Chapter 4, "Web application concepts", condenses together HTTP and sessions, secutiry, and usability in about 45 pages. Chapter 5, "Basic web application strategies", touches on "PHP normal form" (basic layout of a PHP script), project layout, CVS, and three-tiered applications. Again, if you are not familiar with the concepts, you risk not grasping the discussion.
Chapter 6, "Database access with PHP", covers PHPLib (I would expect a chapter on different database drivers avaiable for PHP). The chapter describes database abstraction and authentication used in PHPLib, but offers little practical advice. Read PHPlib online documentation instead.
Chapter 7, "Cutting-edge applications", offers some advice on parsing XML and using WDDX.
Chapter 8, "Case studies", offers a look at several commercial high-traffic sites that utilize PHP. The jist of all case studies is "we used it and it worked", although they include statements that will raise some eyebrows. BizChek.com case study says that PHP was selected over mod_perl because "BizChek developers felt that [mod_perl] might be lacking in dealing with high-volume Web applications". And MarketPlayer.com chose PHP because "most of the company was comfortable using WYSIWYG applications for Web development". I never thought of PHP as a "WYSIWYG" application.
Chapter 9, "Hacking the PHP core" is only truly useful for people who intend to contribute to PHP development, and I flipped through it very quickly.
Overall, the book is a good and entertaining reading written on a high professional level, but it definitely is not a reference nor a textbook. If you are already familiar with the concepts discussed in the book, you will find little new information. And if the concepts are new to you, you may be better off learning them elsewhere.