какой метод автозагрузки быстрее?
private $_directoriesToLook = array("framework/", "models/", "controllers/");
Пользовательский автозагрузчик:
private function customAutoloader($class_name)
{
if(class_exists($class_name))
return true;
foreach($this->_directoriesToLook as $directory)
{
$files = scandir($directory);
if(in_array($class_name.".php", $files))
{
require_once($directory.$class_name.".php");
return true;
}
}
return false;
}
spl_autoload_register(array($this, "customAutoloader"));
Автозагрузчик по умолчанию:
set_include_path(get_include_path().PATH_SEPARATOR.implode(PATH_SEPARATOR, $this->_directoriesToLook));
spl_autoload_extensions(".php");
spl_autoload_register();
Хотя я читал, что по умолчанию один должен быть быстрее, в соответствии с моими тестами выигрывает пользовательский метод.
Недостатком метода по умолчанию является то, что все классы должны быть строчными.