Book Image

Learning PHP Data Objects

By : Dennis Popel
Book Image

Learning PHP Data Objects

By: Dennis Popel

Overview of this book

PDO is lighter, faster, and more powerful than existing PHP data abstraction interfaces. PDO is a common interface to different databases that must be used with a database-specific PDO driver to access a particular database server: the PDO extension does not provide a database abstraction by itself; it doesn't rewrite SQL, emulate missing database features, or perform any database functions using by itself. It performs the same role as other classic database abstraction layers such as ODBC and JDBC: it's a query abstraction layer that abstracts the mechanism for accessing a database and manipulating the returned records; each database driver that implements the PDO interface can also expose database-specific features as regular extension functions. ¬ PDO ships with PHP 5.1, and is available as an extension for PHP 5.0; it requires the new object-oriented features of PHP 5, and cannot run with earlier versions of PHP.This book will teach you how to use the PDO, including its advanced features. Readers need to be aware of the basics of data abstraction and should be familiar with PHP.
Table of Contents (13 chapters)

Chapter 7. An Advanced Example

By now, you should be able to develop web applications with PDO. However, our example application is manageable when it has been kept rather small with limited functionality. Soon you will realize that mixing all the data access, user input, and display logic in one file can become a hassle to manage.

To write a more manageable code and to allow more than one developer to work on a project, the data access user input processing, and page rendering should be separated. You have probably heard of the Model-View-Controller programming paradigm (MVC), which is widely used for big web applications. The idea is to keep the data access and modification modules, which is the Model, separate from data presentation, which is the View. The view can be very complex, so a template engine is usually used. Finally, the controller is a PHP script that receives user input, accesses the model, and prepares the view.

In addition to making the code base more manageable, such division...