@xaocbozzz

__autoload будет работать при действиях оператора instanceof?

$uclass instanceof \Gu\Ru\UndClass
Класс \Gu\Ru\UndClass не фигурировал ранее. Сработает ли __autoload и spl_autoload_register?
  • Вопрос задан
  • 2357 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Согласно документации:
There are a few pitfalls to be aware of. Before PHP version 5.1.0, instanceof would call __autoload() if the class name did not exist. In addition, if the class was not loaded, a fatal error would occur. This can be worked around by using a dynamic class reference, or a string variable containing the class name:


Так что с версии 5,1 и выше нет, автозагрузка не вызывается.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Напишите демку в несколько строк. Даже класс не обязательно писать, если проверить автозагрузку.
Но скорее всего - да, будет, иначе условие не может быть проверено, и завершится ошибкой некоторой степени тяжести (чего, очевидно, в этом примере произойти не должно).
Ответ написан
Комментировать
jakulov
@jakulov
Можно добавить use Gu\Ru\UndClass в начале скрипта - так будет работать, насколько знаю.
И проверять, соответственно instanceof UndClass
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы