||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: MySQL, PHP, web development, dynamic web applications
Title: Core Web Application Development With PHP and MySQL
Author: Marc Wandschneider
Publisher: Prentice Hall PTR
Verdict: Broad scope and good coverage of topics makes this a title worth checking out
PHP and MySQL provide the development language and database components of the LAMP (Linux, Apache, MySQL and PHP/Perl/Python) stack that drives huge chunks of the web. Over the years they have each evolved and grown in complexity and functionality and yet they are still tied together to provide a powerful and flexible platform for web applications.
Aimed at the developer who wants to get to grips with building dynamic web applications, this is not a book that's pitched at those who don't know their mark-up. While there's no prior knowledge of PHP assumed, the author does assume some existing knowledge of HTML and programming in general. There's little back-ground assumed on the database side of things, not even of basic SQL. If you've ever hacked together a few static web pages using HTML and CSS, and have used at least one programming language then you'll find the book pitched at around the right level.
The book is organised into five distinct sections, the first of which is an introduction to PHP 5 (the latest version of the language). Starting with the absolute basics of entering simple PHP scripts, it proceeds rapidly through datatypes, control structures, functions, objects, arrays, character sets and web forms. While the emphasis is on learning the language the context is always firmly focused on solving the kinds of problems that web developers have to face (hence the chapter on character sets in a section otherwise devoted to the language itself).
The second section of the book then shifts attention to databases. A couple of chapters discuss alternative databases (including Oracle and PostgreSQL) and introduce some of the fundamentals of relational databases, including a quick SQL tutorial. The rest of the section includes discussion of database design, transaction processing and, of course, the practicalities of using PHP with MySQL.
Part three moves on to look at some of the broader issues of web application design, including n-tier architectures, user interface design, session and user management and the vexed issue of security (including specific coverage of SQL injection attacks). A variety of other topics - such as regular expressions, XML handling, web services, cookies and session management - are lumped together in the fourth section.
The final section of the book brings the disparate topics together in three sample web apps: a blogging engine, an appointment manager and a shopping cart application. Having the sample applications at the end of the book, rather than as a common thread that runs throughout, is a wise choice. Firstly it means that the snippets of code in the earlier section neatly encapsulate a given topic rather than attempting to build up piece-meal into something bigger. Secondly also means that chapters can be read standalone rather than having to be followed sequentially to understand what's happening in the code.
Overall the choice of topics provides a good solid over-view both of the specifics of PHP and MySQL and also the broader issues of web application development. This makes the book a much more useful proposition than separate PHP and MySQL introductions.