Skip to content

Instantly share code, notes, and snippets.

@Ocramius
Created January 21, 2012 11:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ocramius/1652475 to your computer and use it in GitHub Desktop.
Save Ocramius/1652475 to your computer and use it in GitHub Desktop.
example doctrine bootstrapper
<?php
use Doctrine\Common\ClassLoader,
Doctrine\ORM\Tools\Setup,
Doctrine\ORM\Mapping\Driver\AnnotationDriver,
Doctrine\Common\Annotations\AnnotationReader,
Doctrine\ORM\EntityManager;
// Autoloaders
require_once __DIR__ . '/../lib/doctrine/lib/Doctrine/ORM/Tools/Setup.php';
Doctrine\ORM\Tools\Setup::registerAutoloadGit(__DIR__ . '/../lib/doctrine');
$classLoader = new ClassLoader('Entities', __DIR__);
$classLoader->register();
$classLoader = new ClassLoader('DoctrineProxies', __DIR__);
$classLoader->register();
$classLoader = new ClassLoader('Classes', __DIR__);
$classLoader->register();
// Config
$isDevMode = true; //you want to autogenerate stuff and not use caches. So yes, it is dev mode!
$proxyDir = __DIR__ . DIRECTORY_SEPARATOR . 'DoctrineProxies'; //that's what the Setup tool uses internally
$config = Setup::createConfiguration($isDevMode, $proxyDir);
$paths = array(__DIR__ . DIRECTORY_SEPARATOR . 'Entities'); // paths that are crawled by the annotation metadata driver
$config->setMetadataDriverImpl(new AnnotationDriver(
new AnnotationReader(),
$paths
));
$dbParams = array(
'dbname' => DB_DATABASE,
'user' => DB_USERNAME,
'password' => DB_PASSWORD,
'host' => DB_HOST_URL,
'driver' => 'pdo_mysql',
);
return EntityManager::create($dbParams, $config);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment