[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: __autoload() vs. несуществующий контроллер
dearfriend
Всем доброго дня!

Столкнулся со следующей проблемой:
при обращении по адресу http://sitename.ru/controller_name/ функция __autoload() загружает необходимые классы контроллеров - все хорошо. Но если набираем в строке имя контроллера, которого нет и не будет, то require дает fatal error.

Каким образом лучше организовать это место?

Спасибо!
T1grOK
Выбрасывать Exception в __autoload(), если нужный файл/класс не найден.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Guest
T1grOK, в __autoload() не выбрасываются исключения sad.gif
T1grOK
Да ну! Есть несколько вариантов реализации.
Один из которых
function  __autoload($class_name){
$file = $class_name.'.php';

if(!file_exists($file)) throw new Exception('Ошибка. Файл не найден!');

require_once $file;

if(!class_exists($class_name, false)) throw new Exception('Класс не найден!');

}

try{
$class = new myclass();
}catch (Exception $e){
echo $e->getMessage();
}

И что здесь не выбрасывается?

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

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