Beginning PHP 5 and MySQL: From Novice to Professional
By: W. J. Gilmore
Published by Apress
PHP 5 is large step forward from earlier versions. When I first started playing around with it, I saw the release as a case of the Emperor's New Clothes. Then I recoded a script that I did in PHP4. It used XML. What was a long painful exercise in PHP4, was almost effortless in PHP 5. After having done a similar exercise in C# for ASP.NET, the light went on. PHP 5 isn't good-- it's great! PHP 5 is the ideal language for web development today. The conundrum: as an Open Source language, it doesn't have same level of support and documentation as the Microsoft supported languages. What you need is a good book to walk you through the coding concepts, to stand there as a language reference and to give you supplemental information on related topics: databases, security, installatation, To fill this role is "Beginning PHP 5 and MySQL From Novice to Professional" from Apress.
By : Mike DeWolfe
If you've ever picked up a PHP book before, you'll find that the layout is pretty standard. Chapter 1 is the introduction. Ramus Lerdorf invented PHP as a forms interpreter. Yadda, yadda, yadda. It's good that it's there for the novices but I've read this so many times that I could write a short Lerdorf biography from memory. It outlines what makes PHP good. Then what makes PHP 5 great.
Chapter 2 has installation instructions. At the time of doing this review, I was working on a cantankerous website that had a gimped install of PHP 4-- the server has so messed up, PHP couldn't talk to MySQL under any library. I used this book as a reference to get into PHP 5. I followed the installation guidelienes from the book and found they did me little good. That's not a critical failing of this book. It just speaks to the linear nature of this part of the book. While there are installation options for the build and deployment of PHP, they aren't listed. They would have been handy.
Once you clear the introductory chapters, you move into information on PHP 5: the concepts and the specific functions. The strengthening of the role of classes in PHP 5 is very important and this book keeps that in focus. While the try-catch-throw concepts are covered, they are not emphasized. They are there, but the index neglects to reference them.
In fact, the index is generally weak. There are missing references to lots of material in the book. A trick I pull when I'm evaluating a book at a bookstore is to grab the book, go to the index and look for subjects that stump me or thrill me. If the index is lacking, the book goes back to the shelf. With this book, I had the chance to read it start to finish and found a lot of good stuff inside.
When I went through O'Reilly's "Learning PHP 5", new concepts like Try-Catch and method overloads were underlined and I didn't feel that "Beginning PHP 5 and MySQL" went as far down the road on those concepts.
A chapter on securing PHP has a lot of information that you could find on hardened PHP sites; but presented in a friendlier, more approachable way. With scripts and applications coming out using Smarty, the "Templating with Smarty" chapter is a handy to have reference. The Web services is also good, but it divurges into C# code. The author, W. Jason Gilmore, also does work with C# so he speaks with authority. Nevetheless, throwing it into a PHP5 book felt out of place.
After PHP, the books digs into MySQL. This is where I found the book to be its strongest. It examines the popular MySQL clients. It details how to secure MySQL. It goes into intimate detail about MySQL table types. It talks about transactions and shows quick examples of boilerplare MySQL query/PHP combos (like creating multi-page results.)
The source code from the book is available (here) but I was hard pressed to find a reference to that resource in this book. Given how much material there is, not underlining the availability of the code is a misstep.
Overall, this is a worthwhile outting. It reminds me of the "Web Applications with PHP and MySQL" by O'Reilly, but updated; expanding and broadening in its approach to keep advanced users with the book.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More PHP Book Reviews Articles
More By Codewalkers
developerWorks - FREE Tools! |
<a href="http://zeus.developershed.com/shonuff.php?blackbird=3853&zoneid=442&source=&dest=http%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fspaces%2Fjazz%3FS_TACT%3D105AGY31%26S_CMP%3DDEVSHED&ismap="><img src="http://images.devshed.com/corp/img/news/jazz01.gif" alt="developerWorks Jazz space" align="left"></a>You've heard the buzz about Jazz... want to know more about it from a developer's perspective? Check out the Jazz space on developerWorks. This space is an up-to-date resource for developers, including technical information about Jazz and products built on Jazz, like Rational Team Concert Express. The Jazz space includes content from a wide variety of sources, including links, feeds, and comments from experts. FREE! Go There Now!
|
|
|
|
You probably have thousands of lines of COBOL code loaded with business intelligence and being used to run your business, along with an army of developers maintaining these applications. Learn how to prepare your applications and developers so you can keep that competitive edge and move to a service-oriented architecture with the IBM Rational Enterprise Modernization solutions. Replay is available for 9 months. FREE! Go There Now!
|
|
|
|
CakePHP is a stable production-ready, rapid-development aid for building Web sites in PHP. This "Cook up Web sites fast with CakePHP" series shows you how to build an online product catalog using CakePHP. FREE! Go There Now!
|
|
|
|
In this tutorial, you can learn how to install and configure the IBM Rational Asset Manager Eclipse client, explore the different views in the Asset Management perspective, learn various search techniques, work with existing assets, and submit a new asset. FREE! Go There Now!
|
|
|
|
Learn how to implement a build management system that uses and extends your existing automation technologies. This tutorial shows, step-by-step, how to install and configure IBM Rational Build Forge to manage builds for Jakarta Tomcat from source code. FREE! Go There Now!
|
|
|
|
This tutorial presents an innovative use of the well-known Really Simple Syndication (RSS) format's associative properties to emulate the functionality of a simple relational database. It demonstrates using RSS channels to store contact information and meeting information -- much as a personal address book and calendar does. It uses RSS elements and attributes such as items and guids to create a neural-network-like mesh of related data. FREE! Go There Now!
|
|
|
|
Rational Build Forge Express Edition is an automation framework that packages the latest enterprise-grade technologies into a reliable, flexible and robust configuration designed and priced specifically for small to midsize businesses. The new Rational Build Forge Express eKit provides you with valuable resources – including a case study, podcast, demo, and articles – to help you increase staff productivity, compress development cycles and deliver better software, fast. FREE! Go There Now!
|
|
|
|
This paper is about the critical role that a discipline called integrated requirements management can play in helping to ensure that your business goals and IT investments are continuously aligned—whether you are sourcing, integrating, building or maintaining software. It also looks at ways that automated IBM Rational® products can work together to help you use requirements in the very best way. FREE! Go There Now!
|
|
|
|
The Eclipse community is constantly working to extend Eclipse's functionality. In this webcast, learn about some of the most important and feature-rich projects under development. From multi-language support to plug-in development, tune in to see what Eclipse is capable of now. FREE! Go There Now!
|
|
|
|
In this webcast, you'll get an introduction to the eXtreme Transaction Processing (XTP) features of WebSphere Extended Deployment and the common architectural traits required by XTP applications. See how WebSphere Extended Deployment's ObjectGrid feature provides a state-of-the-art infrastructure for hosting XTP applications. FREE! Go There Now!
|
|
|
|
All FREE IBM® developerWorks Tools! |