Сразу скажу, что знаю о возможности использования композера. Но я хочу научиться делать это самостоятельно, а затем исследовать готовые инструменты.
Моя проблема заключается в том, что я написал следующий код:
function loader($class)
{
$class = str_replace('\\', '/', $class);
$file = SITE_PATH . DS . $class .".php";
if (file_exists($file)) {
include $file;
return true;
} else {
return false;
}
}
spl_autoload_register('loader');
Теперь в автозагрузке участвуют только те классы, которые прописаны следующим образом:
$registry = new core\Registry();
Я не могу использовать use, что меня сильно напрягает. Прописывать же так считается моветоном.
spl_autoload_register('loaderControllers');
spl_autoload_register('loaderModels');
spl_autoload_register('loaderViews');
Как разрешить проблему? Как прописать один раз spl_autoload_register(); при этом не жертвуя возможностью обращаться к классам, используя use и не добавлять регулярно их полный namespace?