Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему при обращении к любому методу RefClass выдаётся ошибка?

Демиен Мыслитель (5538), закрыт 4 года назад
Передал через сессии массив с подключенными плагинами в виде массива c данными типа ReflectionClass. В index.php всё отработало нормально и по этому массиву спокойно прошлись, а вот в другом файле выдаётся ошибка. При чём, при обращении к методу getName ошибок нет и всё отрабатывается нормально, а вот при обращении к, например, implementsInterface выдаёт подобную ошибку (см. скриншот). Весь код состоит из массива с этими RefClass и foreach'ем, который пробегается по ним. Хотел сделать так, что если класс реализует интерфейс IContent сделать что-то, но... В index.php всё работает, а в другом файле (через ajax обращаюсь) - выдаётся ошибка при таком же коде. Как решить? get_class_methods выдаёт все 53 метода класса.

P.S. На строке 25 ничего нет, foreach кончается на 24.
Лучший ответ
Андрей Высший разум (425628) 4 года назад
53 метода какого класса? Метода ReflectionClass, или метода класса, объектом которого ты манипулируешь через ReflectionClass? Чтобы ReflectionClass мог работать с классом, ему должно быть доступно определение этого класса. Файлы, содержащие определения классов у тебя подключаются?

Для того, чтобы проверить, реализует ли ОБЪЕКТ интерфейс IContent, НЕ НАДО использовать ReflectionClass: https://www.php.net/manual/ru/language.operators.type.php, пример # 4.
Остальные ответы
Похожие вопросы