Create a gist now

Instantly share code, notes, and snippets.

<?php
use Symfony\Component\ClassLoader\UniversalClassLoader;
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
'Sensio' => __DIR__.'/../vendor/bundles',
'JMS' => __DIR__.'/../vendor/bundles',
));
$loader->register();
// this is a global dependency, but given the importance of autoloading in Annotations we just
// replaced one global dependency with another to get more control over the autoloading.
\Doctrine\Common\Annotations\AnnotationRegistry::registerNamespaces($loader->getNamespaces());
// For Doctrine ORM it can register its annotations with
\Doctrine\Common\Annotations\AnnotationRegistry::registerFile("path/to/DoctrineAnnotations.php");
// For any library it can register annotations with:
\Doctrine\Common\Annotations\AnnotationRegistry::registerNamespace("MyLibrary/Annotations", "/path/to/mylibrary-root");
@lcf
lcf commented Jul 10, 2011

How the \Doctrine\Common\Annotations\AnnotationRegistry itself would be autoloaded in this example?

@beberlei
Owner

its loaded by the universal class loader. Its just not included in the configuration here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment