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)

Designing the Model


Model is usually comprised of a static class (methods of which are called statically), and several classes that emulate data entities. Calls to the methods of this Model class either return instances of other model classes, or PDOStatement instances that return instances of model classes in calls to the fetch() method.

For our application, the classes will be Model, Book, Author, and Borrower. These classes reflect the tables in our example database and allow us to perform simple operations on the underlying data. (The main idea is to isolate SQL from the controller scripts into relevant model classes.) For example, the Book class may have a method to return an Author class instance that would represent the author for that book. On the other hand, the Author class might have a method to return a list of Book class instances representing each book written by that author.

In this chapter, we will develop our own static Model class along with the Book, Author, and Borrower...