Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > SPL autoload не подключает клаss Expection?


Автор: Kotakota 16.4.2011, 15:31
Воспользовался SPL Autoload.
Пытаюсь вызвать Expection: 
Код

// .....
else throw new Expection('Wrong controller!'); 
// ......


получаю:

Fatal error: Class 'Expection' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\controllers\Controller.php on line 85

Как можно сделать так, чтобы системные классы грузились нормально, без Autoloader'а?
Или придется создавать свои классы наследуемые от системных классов PHP?

И еще такой вопрос.
Как сделать мультизагрузку классов из разных папок в одном методе?
Сейчас решаю эту проблему следующим образом:

Код

$classList = array('MyClass'=>'/path/to/class/MyClass.php');

function autoload($class) {
if(isset($classList[$class])) include $classList[$class];
}


Но это годится только для классов ядра.

Автор: Endeveit 16.4.2011, 15:53
Будьте внимательнее:
Expection != Exception

Автор: Muerto 16.4.2011, 16:40
Endeveit, Молоток, обожаю задачки с внимательностью  smile 

Автор: Kotakota 16.4.2011, 21:40
Endeveit, спасибо!
Muerto, никогда не мог правильно написать это по английски.
Теперь нужно будет заучить smile
А вопрос по мультизагрузке?
Есть какие идеи кроме моих размышлений: namespace, путь в названии файла (framework_models_model1.php) и тот вариант, что выше в примере был.
 

Автор: gta4kv 17.4.2011, 10:20
Загляните в пару фреймворк, посмотрите как это работает там..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)