Skip to content

Instantly share code, notes, and snippets.

@beberlei
Created July 1, 2011 21:55
Show Gist options
  • Select an option

  • Save beberlei/1059486 to your computer and use it in GitHub Desktop.

Select an option

Save beberlei/1059486 to your computer and use it in GitHub Desktop.
<?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

Copy link
Copy Markdown

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

@beberlei

Copy link
Copy Markdown
Author

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