PDO::fetchObject и хуки свойств в PHP 8.4: особенности присваивания
При использовании метода PDO::fetchObject() для создания объекта указанного класса происходит прямое присваивание данных из результата запроса свойствам объекта. Важно отметить ключевую особенность этого процесса:
- Конструктор класса не вызывается, если в метод не переданы дополнительные аргументы (
$ctorArgs). - Заполнение свойств осуществляется напрямую, минуя стандартные механизмы инициализации.
С появлением в PHP 8.4 хуков свойств (property hooks) возникает закономерный вопрос: будут ли эти хуки активированы в описанном сценарии?
Другими словами, проходят ли значения, полученные из базы данных, через обработку хуками свойств перед непосредственным присваиванием? Этот вопрос требует детального рассмотрения механизма работы PDO::fetchObject() в контексте новых возможностей языка.