Review: Easy Oracle PHP
Before my move absorbed my time, I promised to review the first Oracle PHP book published this year, "Easy Oracle PHP: Create Dynamic Web Pages with Oracle Data" by Mladen Gogala. Now I'm once again at a permanent address I was able to order a copy of the book. There is always a delightful pleasure in having a parcel delivered to my office.
Mladen "is a long term DBA" and has been actively helping on various Oracle-related mailing lists. I had the pleasure of meeting him at the New York PHP conference where he made a special trip into NY to meet
me.
The writing style of Easy Oracle PHP is very clear. The book is relatively short at 264 pages but it focuses directly on PHP-Oracle interaction and does not need to be longer (though everyone will always wish for more).
The chapters are:
- Introduction to PHP
- PHP Object Model
- OCI8 Model
- Using PEAR
- Using ADOdb
- Open Source Software
- DBA Little Helper
- Installing PHP5, Apache and PEAR
The introduction to PHP is concise and readable. It nicely summarizes important aspects of the PHP language without spending time on detail that is anyway best read from a dedicated PHP language book or the online PHP manual. The discussion of OO is necessarily brief but it is to the point.
The OCI8, PEAR, and ADOdb chapters form the core third of the book. Connecting, fetching, committing, binding BLOBS, PL/SQL and handling errors are all covered with clear examples. Comparisons between interfaces are made. Gotchas and the occasional bug are mentioned so you know exactly where you stand. Code examples are informative.
Open Source Software is a short chapter that speaks about the Oracle Editor. This is an example program that provides a web interface to an Oracle DB. It was available from OTN's PHP Developer Center and is still online at various places.
The next chapter, DBA Little Helper, is much longer. It covers the author's tool for managing Oracle databases. The tool itself is available from the author's website where new versions are posted as features are added. To appreciate this chapter some familiarity with Oracle terminology is useful but the source code is a good example of a large application.
The final chapter discusses installation. This is perhaps the chapter which will date quickest as the PHP community improves (or changes) regularly. Again gotchas are clearly explained so it is a valuable reference for everyone.
The clear writing, use of solid examples, and deep understanding of the Oracle database by the author make this a good book. The focus of the book on the interaction of the database with PHP gives the reader the ability to focus on the core of applications. This book will have most benefit for Oracle users who are new to PHP but will also give insight for PHP users with less Oracle familiarity.