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)

Summary


In this chapter, we have taken a look at some of the extended functionality offered by PDO, especially transactions. Our application example was modified to provide additional functionality that relies on transactions. We also looked at the organization of the transaction-aware code.

However, as you might have noticed, we were mixing code that updates databases, processes user input, and renders pages in one file. While we tried to keep the input processing and presentation in different parts of one file (first data processing, then page rendering), we could not separate data processing.

In the next chapter, we will see how to separate the data model and the application logic so that the data can be accessed and manipulated from elsewhere, not just from our application. We will develop a data model class that will encapsulate our library application data handling methods. This class can then be used from other applications.