2010-12-22 60 views
1

我已經安裝的自動加載在我的ZF/Doctrine2應用如下怪異混合的Zend Framework 1.11學說2個自動加載磁帶機

$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有關?

回答

2

那麼只有「Doctrine」自動加載器可能已經匹配DoctrineExtensions類。你必須相應地重新排列它們。

+0

謝謝你的伎倆。這種做法有點奇怪,「DoctrineExtensions」可以與「Doctrine」混合在一起,它們以相同的東西開始,但它們是不同的詞。我期待他們匹配`Doctrine \ xxx`和`DoctrineExtensions \ xxx` – 2010-12-22 09:51:06