PHP 5 Power Programming — 5 Minute Review

When I say that I was disappointed to find this book in my mailbox, it is only because I knew that when I got my hands on it I wouldn’t put it down for the rest of the day. Keeping up with the style of my 5-Minute-Reviews, I’ll have to prefix this by saying that I have not yet read PHP 5 Power Programming from cover to cover, and the review is based on the few hours that I have spent flipping through the pages.

About the book: The book is nearly 700 pages long, with 16 chapters and 3 appendices. Written by Andi Gutmans, Stig Bakken and Derick Rethans, we are in very good hands and are treated with specific information that is useful to real world developers. Unlike the majority of computer books, we are not treated like idiots.

Starting with “What’s New in PHP 5″ PHP 5 Power Programming quickly covers all the goodness which is new to PHP 5. After covering “PHP 5 Basic Language” and “PHP 5 OO Language” we are treated with an in depth look at “PHP 5 OOP and Design Patterns” which covers the 4 most popular web related Design Patterns (Strategy, Singletons, Factory, Observer), as well as PHP 5 iterators and Reflection API. And that’s all in the first 100 pages.

PHP5 Power Programming is focused at developers, and offers a wide range of information on new PHP 5 features as well as associated technologies and invaluable tools such as PEAR Packages, Zend Tools, PHPDocumenter, xdebug, APD, etc.

The guys obviously enjoyed writing the book, which is evident by the casual style in which the material is presented. Little effort seems to be made in standardizing the writing styles of each author, which gives the book a refreshing and personal touch. The authors part with the dry format that we have come to expect from computer books, and take the liberty to both explain small tools which would normally be ignored — like the 5 pages covering HMAC Verification, in “How to Write a Web Application” — and to not go into detail about tools which there is plenty of other information available on the web — Like the half page explanation on PEAR::HTML_Quickform. In some cases the concept is presented, but the implementation has been left as a exercise for the reader.

Annoyances: For a book this size there are relatively few annoyances. My main complain was that the font is quite bold (or is lack of whitespace between the lines) and at first glance the pages of the book looks cluttered. This is probably largely my imagination, as after reading a couple pages it’s unnoticeable.

There is some inconsistency in the tab widths. In some places 4 spaces are used, and other places there are 6 (yuk). In some examples there are indents after the opening < ?php tag, this is mainly annoying when the excessive indentation causes the code to wrap, which is distracting.

Very few noticeable errata, and there is a forum on the books site which will track issues as they appear.

In general I’m very happy with this book. If there is one book that you want to get to bring you up to speed on PHP 5, this is the one. I’ll leave my copy at the PEAR booth at the IPC2k4 next week for anyone who wants to thumb through it.

The only question this book doesn’t answer is: What the hell is Kossu?

6 Responses to “PHP 5 Power Programming — 5 Minute Review”

  1. Aaron Wormus Says:

    Kossu == Koskenkorva.

  2. MEX Blog » eBook: PHP 5 Power Programming Says:

    […] auf PHP5 umsatteln möchten, weniger also für Anfänger und Einsteiger. Aussagen dazu? What’s the Story: When I say that I was disappo […]

  3. Luis Says:

    If you want an annoyance I give you an annoyance. Chapter 14, on performance, the section about APC. The book is about PHP5 but APC does not work with PHP5 yet! Apparently the authors never bothered to test that. I am disappointed by the book. The book is fine, but the Power should not be in the title…

  4. Aaron Wormus Says:

    Luis, would you recommend any other book in its place?

  5. car florida services transport Says:

    car florida services transport…

    Good information source for car florida services transport….

  6. Steve Popoola Says:

    I have some annoyances with the source codes I have seen so far in the book. On page 153, the code for mysqli connection is wrong at the point where the if condition for error is being tested.
    if(mysqli_connect_errno)
    {
    die(”mysqli_connect failed: ” . mysqli_connect_error());
    }

    mysql_connect_errno is a function not a constant!

    in section 6.2.7, I ran into another problem with the code on Multi Statements. The query, “Select Country from Country” should have been “Select Name from Country”

    I wonder how many more source code errors I will see as I continue? Unfortunately the companion site is not even available…

Leave a Reply