Book Review - Core Web Application Development With PHP And MySQL by Marc Wandschneider
I had a blog reader email me today and ask if I knew of any good books on PHP and MySQL. Being that I'd like to learn more about both of those subjects myself, I recently had requested (and had sitting in my review pile) a copy of Core Web Application Development With PHP And MySQL by Mark Wandschneider. If you're focused on *application development* (rather than just learning how to create a dynamic page), then this book works pretty well...
Part 1 - The Basics of PHP: Getting Started with PHP; The PHP Language; Code Organization and Reuse; Object-Oriented Programming; Working with Arrays; Strings and Characters of the World; Interacting with the Server - Forms
Part 2 - Database Basics: Introduction to Databases; Designing and Creating Your Database; Using Databases - Storing and Retrieving Data; Using Databases - Advanced Data Access; PHP and Data Access
Part 3 - Planning Web Applications: Web Applications and the Internet; Implementing a User Interface; User Management; Securing Your Web Applications - Planning and Code Security; Securing Your Web Applications - Software and Hardware Security
Part 4 - Implementing Your Web Applications: Error Handling and Debugging; Cookies and Sessions; User Authentication; Advanced Output and Output Buffering; Data Validation with Regular Expressions; XML and XHTML; Files and Directories; File Uploading; Working with Dates and Times; XML Web Services and SOAP; Using PEAR; Development and Deployment
Part 5 - Sample Projects and Further Ideas: Strategies for Successful Web Applications; An Appointment Manager; A Blogging Engine; An Ecommerce Application
Appendixes: Installation/Configuration; Database Function Equivalents; Recommended Reading
I differentiated the type of learning at the start of this review on purpose. It's pretty easy to go into learning a new language focusing solely on the nuts and bolts of the syntax. That's really not the pattern that's followed with this book. You don't just learn how to add some PHP code to your page in order to display the time of day to the user. The goal here is to learn how to build an *application* instead of just a single dynamic page. The layout and flow of the book supports that goal well. You start with basic PHP concepts and syntax. Then you move on to basic database concepts that are used in MySQL (and in fact *any* relational database system). Once those two basic skill sets are covered, then the blending occurs. You start learning how to use PHP to read and store data in MySQL, and those concepts are then used to build an end-to-end application. Throw in the essentials of securing your application and making it bulletproof for users, and you have a pretty encompassing guide for a development professional to use.
If PHP and MySQL were going to be something I used on a regular basis, I'd follow up this book with two specific titles for PHP and MySQL. Even though this Core title is large, there's no way it can cover all the details on either subject. And in reality, I don't think you'd want that if this is your first exposure. A practical volume such as this one will get you thinking correctly as far as design and techniques go, and then you can decide if this is where you want to commit your time and resources.
Nicely done book, and one I'd recommend for your first PHP/MySQL experience. I'll be revisiting this book myself in 2006 in order to pick up a few more skills...