Парсинг, компиляция, выполнение..?

Ознакомился с типами исключений в SPL и нашёл там:

OutOfRangeException - обнаружение запроса к несуществующему индексу во время компиляции.
OutOfBoundsException - обнаружение запроса к несуществующему индексу во время выполнения.

Стало интересно. У меня есть методы типа get('value'), которые возвращают значение свойства объекта. Правильно ли я понимаю:

$obj->nonexisting_property - прямой доступ, при несуществующем свойстве это будет ошибка во время компиляции.
$obj->get('nonexisting_property') - доступ через метод, ошибка во время выполнения.

То есть для первого варианта логично выбросить OutOfRangeException (например, после проверки isset()), а для второго - OutOfBoundsException. Так?

И ещё - где можно подробно почитать алгоритм чтения и выполнения PHP скриптов (доступным языком)? То есть, как работает и запускается парсер, что подгружается при компиляции, что при выполнении и т. п.

Спасибо.
  • Вопрос задан
  • 218 просмотров
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
Хватит задавать вопросы, на которые отвечает в полной мере со всеми подробностями первая пятерка ссылок поисковой выдачи!
https://duckduckgo.com/?q=OutOfRangeException+php
Ответ написан
Ваш ответ на вопрос

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

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