Перед рефакторингом динамических свойств в WeakMap предполагается, что Это несколько исключений из устаревания (см. ссылку выше), и одним из этих исключений являются классы с магическими методами __get и __set. И действительно, хотя в PHP 8.2 мой код не выдавал уведомления об устаревании.
Однако, похоже, что после обновления до PHP 8.3 уведомление об устаревании выдается в тело следующего, то есть в самой реализации освобождающей магии:
Код: Выделить всё
public function __set($property_name, $value)
{
$this->$property_name = $value;
}
Вопрос: Является ли это небрежностью в документации PHP 8.3, или мне не хватает какой-то причины, почему "мой" __set(и подобные __get) недостаточно хороши, чтобы рассчитывать на исключение?
(Тем временем я добавил #[AllowDynamicProperties] в класс, но мне все еще любопытно)
Подробнее здесь: https://stackoverflow.com/questions/790 ... umented-ex
Мобильная версия