1

ZF/Doctrine2 アプリで次のようにオートローディングをセットアップしました

$zendAutoloader = Zend_Loader_Autoloader::getInstance();

$autoloader = array(new ClassLoader('Symfony'), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Symfony');
$autoloader = array(new ClassLoader('Doctrine'), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Doctrine');
$autoloader = array(new ClassLoader('Application', realpath(__DIR__ . '/..')), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Application');

$autoloader = array(new ClassLoader('DoctrineExtensions'), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'DoctrineExtensions');

他のクラスが動作しているときにオートロードが機能していないことがわかりましたDoctrineExtensions...パスなどが正しいことを確認するために、試しました

$autoloader = new ClassLoader('DoctrineExtensions');
$autoloader->register();

そして、それは機能します。Zend Framework と何か関係があるようですね。

4

1 に答える 1

2

「Doctrine」のみのオートローダは、おそらくすでに DoctrineExtensions クラスに対応しています。それに応じてそれらを並べ替える必要があります。

于 2010-12-22T08:51:06.317 に答える