2013-08-22 63 views
2

我通常可能會誤解有關設置自定義類加載器的內容。Doctrine classloader會覆蓋我的__autoload函數

會發生什麼事是,一旦我初始化:

use Doctrine\Common\ClassLoader; 

require_once(DOCTRINE_PATH . '/Common/ClassLoader.php'); 
classLoader=new ClassLoader('Doctrine', DOCTRINE_PATH); 
classLoader->register(); 

我先前定義的函數

function __autoload(){} 

不再起作用。

我在這裏失蹤了什麼?

回答

2

潛水深一點到自動加載的文件後,我發現,爲了有多個自動加載機的同時,利用

function __autoload(){} 

不採取有效的途徑。取而代之的是,一個具有定義一個自定義的自動加載功能,如

function MyAutoLoader() 

,然後使用

spl_autoload_register('MyAutoLoader'); 

到它登記到自動加載堆棧。

最後,使用這種方法,我的自動加載器不再被實現Doctrine類加載器覆蓋。