[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Использование пользовательской функции для автолод
Игорь_Vasinsky
На данный момент я использую такой вариант

  function autoload_libs($class) {

try{
if(!file_exists(ROOT.'/libs/'.$class.'.class.php'))
throw new Exception('Не найден файл библиотеки: '.$class);
else
include
ROOT.'/libs/'.$class.'.class.php';
}
catch(Exception $e){
GetReport::logging($e->getMessage()."\r\n".$e->getFile()."\r\n".$e->getLine(),LOGFNF);
exit;
}
}


spl_autoload_register('autoload_libs');


Допустим мне необходимо сделать автолоад ещё и из другой папки - 2 блока try-catch я в одну функцию запихнуть

вызов нескольких spl_autoload_register - логичен?

или есть другие варианты?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
T1grOK
А почему бы не объявить автолоад один раз, и использовать массив путей? Не нашли в одной директории, перешли к следующей, по приоритетности.
+ можно еще сделать названия классов, так чтобы по имени можно было определить поддиректории и т.д.(Собственно как реализовано в Kohana и в многих других фреймворках и CMS)
+ хранить пути в каком то классе со статик методами, чтоб можно было добавить новый путь. Что то типо Core::registerPathAutoload('path/')

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.