4

は、ファイルを自動ロードするときに、処理できるライブラリがまたは標準にSymfony 2.0 Autoloader従うことを期待しています。これらの2つの標準のいずれにも準拠していない古いライブラリがある場合(私の場合、クラスファイルの名前はname.class.phpのようになります)、これらのライブラリの自動読み込みをどのように処理しますか?PSR0PEAR

これSymfony 2.1は、composerがサポートしclassmaps、このタイプのライブラリをロードできるため簡単ですが、どのように実行しますSymfony 2.0.xか?

4

1 に答える 1

10

内部に、 :app/autoload.phpのインスタンスを作成します。MapClassLoader

use Symfony\Component\ClassLoader\MapClassLoader;
use Symfony\Component\ClassLoader\UniversalClassLoader;

// Create default PSR-0 autoloader
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
    'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
    // ...
));

// Create map autoloader
$mapLoader = new MapClassLoader(array(
    'MyComponent' => __DIR__.'/../library/mycomponent.class.php',
    // ...
));

// Other configurations
// ...

// Register autoloaders
$loader->register();
$mapLoader->register();
于 2012-08-10T14:51:15.663 に答える