В настоящее время я создаю свой собственный PHP-фреймворк и создаю множество каталогов для хранения своих классов.
Это моя текущая функция автозагрузки:
function __autoload($className)
{
$locations = array('', 'classes/', 'classes/calendar/', 'classes/exceptions/', 'classes/forms/', 'classes/table/', 'classes/user', 'pages/', 'templates/');
$fileName = $className . '.php';
foreach($locations AS $currentLocation)
{
if(file_exists($currentLocation . $fileName))
{
include_once ($currentLocation . $fileName);
return;
}
}
}
Теперь в моем основномфайл класса У меня уже есть все необходимые классы, чтобы их не нужно было искать.
Вот мои вопросы:
- Достаточно ли эффективна эта функция?Будет ли много времени загрузки или есть ли способ для меня минимизировать время загрузки?
- Является ли include_once () тем способом, который я должен использовать, включая классы?
- Есть лиспособ, которым я мог написать функцию, чтобы угадать на самых популярных папках?Или это заняло бы слишком много времени и / или невозможно?
- Помогут ли мне вообще пространства имен?(Я читаю и узнаю о них прямо сейчас.)