«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему фантомные свойства добавляются к объектам DateTime при использовании Print_r()?

Почему фантомные свойства добавляются к объектам DateTime при использовании Print_r()?

Опубликовано 2 ноября 2024 г.
Просматривать:381

Why Are Phantom Properties Added to DateTime Objects When Using Print_r()?

Print_r() изменяет объекты DateTime

Print_r() добавляет свойства к объектам DateTime, позволяя выполнять самоанализ во время отладки. Такое поведение, побочный эффект внутренней функциональности, представленной в PHP 5.3, присваивает фантомные общедоступные свойства экземплярам, ​​выгружаемым в текст.

Чтобы избежать ошибок, возникающих из-за этих свойств, вместо этого используйте отражение. Однако поиск этих свойств не рекомендуется, поскольку они официально не определены в классе, и их данные могут измениться в будущих версиях PHP.

Вместо этого получите доступ к нужной информации с помощью следующих методов, определенных API:

// $obj->date
$obj->format('Y-m-d H:i:s');

// $obj->timezone
$obj->getTimezone()->getName();
// or...
$obj->getTimezone()->getOffset();
// or...
$obj->getTimezone()->listAbbreviations();

Свойство timezone_type — внутреннее значение, описывающее тип строки часового пояса (смещение времени, аббревиатура или идентификатор), недоступно через PHP API.

Заявление о выпуске Эта статья перепечатана по адресу: 1729484415. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3