2013-04-04 17 views
6

मैं Codeigniter उपयोग कर रहा था विधि का उपयोग कर कुछ कोर वर्गों के लिए autoloading करने के लिए Codeigniter में autoload मौजूदा टूट जाता है यहाँ वर्णित:संगीतकार

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); 
} 
} 

हालांकि, एक बार मैं (संगीतकार स्थापित क्रम सुवक्ता का उपयोग करने के), यह funcitonality अब काम करता है। कोई विचार?

धन्यवाद!

उत्तर

15

__autoload ऑटोलोडिंग करने का पुराना, बहिष्कृत तरीका है, क्योंकि आपके पास केवल एक ही हो सकता है।

आपको spl_autoload_register का उपयोग करके अपना ऑटोलोडर पंजीकृत करना चाहिए। उदाहरण:

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

spl_autoload_register('customCIAutoload'); 

इस तरह आपका ऑटोलोडर और संगीतकार खुशी से सह-अस्तित्व में होगा।