It expects an object implementing a findFile method to find the file. This allows using it as a wrapper around the other loaders of the component (the ClassLoader and the UniversalClassLoader for instance) but also around any other autoloader following this convention (the Composer one for instance) $loader = new ClassLoader(); register classes with namespaces $loader->add('Symfony\Component', __DIR__.'/component'); $loader->add('Symfony', __DIR__.'/framework'); $cachedLoader = new XcacheClassLoader('my_prefix', $loader); activate the cached autoloader $cachedLoader->register(); eventually deactivate the non-cached loader if it was registered previously to be sure to use the cached one. $loader->unregister();
Author: Fabien Potencier (fabien@symfony.com)
Author: Kris Wallsmith (kris@symfony.com)
Author: Kim Hemsø Rasmussen (kimhemsoe@gmail.com)
Exemplo n.º 1
0
<?php

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\ClassLoader\XcacheClassLoader;
$loader = (require_once __DIR__ . '/../app/bootstrap.php.cache');
require_once __DIR__ . '/../app/AppKernel.php';
require_once __DIR__ . '/../app/AppCache.php';
if (extension_loaded('apc') && ini_get('apc.enabled')) {
    $loader = new ApcClassLoader('superdesk_webpublisher', $loader);
    $loader->register(true);
}
if (extension_loaded('xcache') && ini_get('xcache.enabled')) {
    $loader = new XcacheClassLoader('superdesk_webpublisher', $loader);
    $loader->register(true);
}
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
$kernel = new AppCache($kernel);
Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
 * Date: 17.09.15
 * Time: 9:27
 */
namespace {
    require_once __DIR__ . '/vendor/autoload.php';
    use Dima\Legacy\TestClass as TestLoadedByMap;
    use Dima\Test as TestPsr0;
    use Symfony\Component\ClassLoader\ClassLoader;
    use Symfony\Component\ClassLoader\ClassMapGenerator;
    use Symfony\Component\ClassLoader\MapClassLoader;
    use Symfony\Component\ClassLoader\Psr4ClassLoader;
    use Symfony\Component\ClassLoader\XcacheClassLoader;
    use DG\SymfonyCert\Controller\HomeController;
    $psr0Loader = new ClassLoader();
    $psr0Loader->addPrefix('Dima', __DIR__ . '/srcPsr0');
    $cachedLoader = new XcacheClassLoader(sha1(__FILE__), $psr0Loader);
    $cachedLoader->register();
    $psr0Loader->unregister();
    $psr4Loader = new Psr4ClassLoader();
    $psr4Loader->addPrefix('DG\\SymfonyCert\\', __DIR__ . '/src');
    $psr4Loader->register();
    $mapLoader = new MapClassLoader(['Dima\\Legacy\\TestClass' => __DIR__ . '/srcPsr0/TestClass.php']);
    $mapLoader->register();
    ClassMapGenerator::dump(__DIR__ . '/srcThirdParty', __DIR__ . '/class_map.php');
    $classMap = (include __DIR__ . '/class_map.php');
    $mapLoader2 = new MapClassLoader($classMap);
    $mapLoader2->register();
    //Psr0 loader + XCache
    TestPsr0::output("Hello from Psr0 loaded class!");
    //Map loader
    TestLoadedByMap::test();