2013-04-04 5 views
6

używałem CodeIgniter zrobić automatyczne ładowanie dla niektórych klas podstawowych stosując metodę opisaną tutaj:przerwy Kompozytor objąć istniejącymi AutoLoad w CodeIgniter

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

function __autoload($class) 
{ 
if(strpos($class, 'CI_') !== 0) 
{ 
    @include_once(APPPATH . 'core/'. $class . EXT); 
} 
} 

Jednak po zainstalowaniu Kompozytor (w celu wykorzystania wymowny), ta funkcjonalność już nie działa. Jakieś pomysły?

Dzięki!

Odpowiedz

15

__autoload to stary, przestarzały sposób automatycznego ładowania, ponieważ możesz mieć tylko jeden.

Należy zarejestrować swój autoloader za pomocą spl_autoload_register. np .:

function customCIAutoload($class) 
{ 
if(strpos($class, 'CI_') !== 0) 
{ 
    @include_once(APPPATH . 'core/'. $class . EXT); 
} 
} 

spl_autoload_register('customCIAutoload'); 

W ten sposób Twój autoloader i kompozytor będą współistnieć szczęśliwie.