"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que as propriedades fantasmas são adicionadas aos objetos DateTime ao usar Print_r()?

Por que as propriedades fantasmas são adicionadas aos objetos DateTime ao usar Print_r()?

Publicado em 2024-11-02
Navegar:147

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

Print_r() altera objetos DateTime

Print_r() adiciona propriedades aos objetos DateTime, permitindo a introspecção durante a depuração. Este comportamento, um efeito colateral da funcionalidade interna introduzida no PHP 5.3, atribui propriedades públicas fantasmas a instâncias despejadas em texto.

Para evitar erros decorrentes dessas propriedades, use reflexão. Porém, buscar essas propriedades não é aconselhável, pois elas não estão oficialmente definidas na classe e seus dados podem mudar em versões futuras do PHP.

Em vez disso, acesse as informações desejadas através dos seguintes métodos definidos pela API:

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

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

A propriedade timezone_type, um valor interno que descreve o tipo de string de fuso horário (deslocamento de horário, abreviação ou identificador), não é acessível por meio da API PHP.

Declaração de lançamento Este artigo foi reimpresso em: 1729484415 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3