/** * @dataProvider getLoadClassPrefixCollisionTests */ public function testLoadClassPrefixCollision($prefixes, $className, $message) { $loader = new UniversalClassLoader(); $loader->registerPrefixes($prefixes); $loader->loadClass($className); $this->assertTrue(class_exists($className), $message); }
public function __construct() { $this->tmpDir = sys_get_temp_dir() . '/sf2_' . rand(1, 9999); if (!is_dir($this->tmpDir)) { if (false === @mkdir($this->tmpDir)) { die(sprintf('Unable to create a temporary directory (%s)', $this->tmpDir)); } } elseif (!is_writable($this->tmpDir)) { die(sprintf('Unable to write in a temporary directory (%s)', $this->tmpDir)); } parent::__construct('env', true); require_once __DIR__ . '/FacebookApiException.php'; $loader = new UniversalClassLoader(); $loader->loadClass('\\FacebookApiException'); $loader->register(); }
<?php use Symfony\Component\ClassLoader\UniversalClassLoader; use Doctrine\Common\Annotations\AnnotationRegistry; $loader = new UniversalClassLoader(); $loader->registerNamespaces(array('Symfony' => array(__DIR__ . '/../vendor/symfony/src', __DIR__ . '/../vendor/bundles'), 'Sensio' => __DIR__ . '/../vendor/bundles', 'JMS' => __DIR__ . '/../vendor/bundles', 'Doctrine\\ODM\\MongoDB' => __DIR__ . '/../vendor/doctrine-mongodb-odm/lib', 'Doctrine\\MongoDB' => __DIR__ . '/../vendor/doctrine-mongodb/lib', 'Doctrine\\Common' => __DIR__ . '/../vendor/doctrine-common/lib', 'Doctrine\\DBAL' => __DIR__ . '/../vendor/doctrine-dbal/lib', 'Doctrine' => __DIR__ . '/../vendor/doctrine/lib', 'Monolog' => __DIR__ . '/../vendor/monolog/src', 'Assetic' => __DIR__ . '/../vendor/assetic/src', 'Metadata' => __DIR__ . '/../vendor/metadata/src', 'FOS' => __DIR__ . '/../vendor/bundles')); $loader->registerPrefixes(array('Twig_Extensions_' => __DIR__ . '/../vendor/twig-extensions/lib', 'Twig_' => __DIR__ . '/../vendor/twig/lib')); // intl if (!function_exists('intl_get_error_code')) { require_once __DIR__ . '/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; $loader->registerPrefixFallbacks(array(__DIR__ . '/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs')); } $loader->registerNamespaceFallbacks(array(__DIR__ . '/../src')); $loader->register(); AnnotationRegistry::registerLoader(function ($class) use($loader) { $loader->loadClass($class); return class_exists($class, false); }); AnnotationRegistry::registerFile(__DIR__ . '/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); AnnotationRegistry::registerFile(__DIR__ . '/../vendor/doctrine-mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/Annotations/DoctrineAnnotations.php'); // Swiftmailer needs a special autoloader to allow // the lazy loading of the init file (which is expensive) require_once __DIR__ . '/../vendor/swiftmailer/lib/classes/Swift.php'; Swift::registerAutoload(__DIR__ . '/../vendor/swiftmailer/lib/swift_init.php');