как заставить работать class_exists?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

как заставить работать class_exists?

Сообщение delvin »

Собственно сабж.
если отключить автозагрузку - функция становится для меня бесполезной, если включить - автозагрузка в yii пытается загрузить не существующий класс и выдает ошибку и опять же функция становится бесполезной.
Пока написал костыль который сам ищет по указанным путям файл с нужным классом - но мне такое решение не нравится
Как быть?
mitallast
Сообщения: 207
Зарегистрирован: 2010.02.21, 20:40
Откуда: Голицыно
Контактная информация:

Re: как заставить работать class_exists?

Сообщение mitallast »

Прочесть мануал может быть ?
http://ru.php.net/manual/en/function.class-exists.php
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: как заставить работать class_exists?

Сообщение delvin »

mitallast писал(а):Прочесть мануал может быть ?
http://ru.php.net/manual/en/function.class-exists.php
Для тех кто читает только первое предложение:
в случае применения в Yii эта функция при использовании $autoload = true всегда выдает 500-ю ошибку вместо false, если класс отсутсвует.
При $autoload = false от нее никакого прока, потому что класс еще не загружен.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: как заставить работать class_exists?

Сообщение slavcodev »

Жду Yii 3!
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: как заставить работать class_exists?

Сообщение delvin »

mc-bear писал(а):YiiBase::autoload
Спасибо, то что нужно
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: как заставить работать class_exists?

Сообщение delvin »

Хотя нет. Поторопился

Код: Выделить всё

$this->_isPlugin = YiiBase::autoload($pluginName); 
все так же вызывает ошибку
include(plugin2.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
а мне надо, что бы просто устанавливал $this->_isPlugin = false
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: как заставить работать class_exists?

Сообщение slavcodev »

Код: Выделить всё

$this->_isPlugin = @ YiiBase::autoload($pluginName); 
Хотя я бы наверное импортировал бы все пути где лежат плагины.
Жду Yii 3!
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: как заставить работать class_exists?

Сообщение delvin »

Если такого плагина нет, то импорт путей не поможет.
Я делаю расширение для инлайн плагинов: текст парсится на наличие определенного шаблона, и если шаблон встречается, нужно проверить плагин это или нет.

вылетело из головы подавление ошибок. Спасибо.
Ответить