Code:
class Autoloading
{
public function __construct()
{
spl_autoload_register('Autoloading::load_class');
}
public static function load_class($classname)
{
$path = APPPATH.'models/'.strtolower($classname).EXT;
if(file_exists(path))
{
require_once $path;
}
}
}
Die load_class methode kannst du nun beliebig erweitern, so dass sie auch eigene Libraries etc laden kann oder über directories iteriert. Sie wird immer aufgerufen wenn eine Klasse nicht auffindbar ist. Dieser weg erlaubt dir auch mehrere Methoden zu registrieren.
Es empfiehlt sich aber zu prüfen ob die klassen nicht von CI selber sind (beginnen mit 'CI_'), die sollte das Framework schon selbst laden. Das ganze erzeugt sicherlich einen kleinen Overhead, der Komfort ist allerdings mehr wert!
Code:
$this->load->model('Foo');
$this->load->....
$bar = new Foo();
Waren eigentlich die ersten Zeilen Code die ich für CI geschrieben habe und weis eigentlich gar nicht mehr wies ohne ist

.