"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Print_r()을 사용할 때 왜 팬텀 속성이 DateTime 객체에 추가됩니까?

Print_r()을 사용할 때 왜 팬텀 속성이 DateTime 객체에 추가됩니까?

2024-11-02에 게시됨
검색:170

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