Book Image

Persistence in PHP with Doctrine ORM

By : Kevin Dunglas
Book Image

Persistence in PHP with Doctrine ORM

By: Kevin Dunglas

Overview of this book

Doctrine 2 has become the most popular modern persistence system for PHP. It can either be used as a standalone system or can be distributed with Symfony 2, and it also integrates very well with popular frameworks. It allows you to easily retrieve PHP object graphs, provides a powerful object-oriented query language called DQL, a database schema generator tool, and supports database migration. It is efficient, abstracts popular DBMS, and supports PHP 5.3 features. Doctrine is a must-have for modern PHP applications. Persistence in PHP with Doctrine ORM is a practical, hands-on guide that describes the full creation process of a web application powered by Doctrine. Core features of the ORM are explained in depth and illustrated by useful, explicit, and reusable code samples. Persistence in PHP with Doctrine ORM explains everything you need to know to get started with Doctrine in a clear and detailed manner. From installing the ORM through Composer to mastering advanced features such as native queries, this book is a full overview of the power of Doctrine. You will also learn a bunch of mapping annotations, create associations, and generate database schemas from PHP classes. You will also see how to write data fixtures, create custom entity repositories, and issue advanced DQL queries. Finally it will teach you to play with inheritance, write native queries, and use built-in lifecycle events. If you want to use a powerful persistence system for your PHP application, Persistence in PHP with Doctrine ORM is the book you.
Table of Contents (12 chapters)

Installing Data fixtures


Fixtures are fake data that allow testing of an app without having to do the tedious task of manually creating data after each install. They are useful for automated testing processes and make it easier for a new developer to start working on our projects.

Note

Any application should be covered with automated tests. The blog app we are building is covered by Behat (http://behat.org/) tests. They are provided in downloads available on the Packt website.

Doctrine has an extension called Data Fixtures that ease fixtures creation. We will install it and use it to create some fake blog posts.

Type this command in the root of the project to install Doctrine Data Fixtures through Composer:

  php composer.phar require doctrine/data-fixtures:1.0.*

The first step to using Doctrine Data Fixtures is to create a fixture class. Create a file called LoadPostData.php in the src/Blog/DataFixtures directory as shown in the following code:

  <?php

  namespace Blog\DataFixtures;

  use...