You are browsing a version that is no longer maintained. |
Installation and Configuration
Doctrine can be installed with Composer.
Define the following requirement in your composer.json file:
{
"require": {
"doctrine/orm": "*"
}
}
Then call composer install from your command line. If you don't know
how Composer works, check out their Getting Started to set up.
Class loading
Autoloading is taken care of by Composer. You just have to include the composer autoload file in your project:
<?php// bootstrap.php// Include Composer Autoload (relative to project root).require_once "vendor/autoload.php";
Obtaining an EntityManager
Once you have prepared the class loading, you acquire an EntityManager instance. The EntityManager class is the primary access point to ORM functionality provided by Doctrine.
<?php// bootstrap.phprequire_once "vendor/autoload.php";use Doctrine\DBAL\DriverManager;use Doctrine\ORM\EntityManager;use Doctrine\ORM\ORMSetup;$paths = ['/path/to/entity-files'];$isDevMode = false;// the connection configuration$dbParams = [ 'driver' => 'pdo_mysql', 'user' => 'root', 'password' => '', 'dbname' => 'foo',];$config = ORMSetup::createAttributeMetadataConfiguration($paths, $isDevMode);$connection = DriverManager::getConnection($dbParams, $config);$entityManager = new EntityManager($connection, $config);
|
The |
Or if you prefer XML:
<?php$paths = ['/path/to/xml-mappings'];$config = ORMSetup::createXMLMetadataConfiguration($paths, $isDevMode);$connection = DriverManager::getConnection($dbParams, $config);$entityManager = new EntityManager($connection, $config);
Or if you prefer YAML:
<?php$paths = ['/path/to/yml-mappings'];$config = ORMSetup::createYAMLMetadataConfiguration($paths, $isDevMode);$connection = DriverManager::getConnection($dbParams, $config);$entityManager = new EntityManager($connection, $config);
|
If you want to use yml mapping you should add yaml dependency to your
|
Inside the ORMSetup methods several assumptions are made:
- If
$isDevModeis true caching is done in memory with theArrayAdapter. Proxy objects are recreated on every request. - If
$isDevModeis false, check for Caches in the order APCu, Redis (127.0.0.1:6379), Memcache (127.0.0.1:11211) unless$cacheis passed as fourth argument. - If
$isDevModeis false, set then proxy classes have to be explicitly created through the command line. - If third argument
$proxyDiris not set, use the systems temporary directory.
|
In order to have |
If you want to configure Doctrine in more detail, take a look at the Advanced Configuration section.
|
You can learn more about the database connection configuration in the Doctrine DBAL connection configuration reference. |
Setting up the Commandline Tool
Doctrine ships with a number of command line tools that are very helpful during development. In order to make use of them, create an executable PHP script in your project as described in the tools chapter.
