Error: Creation of dynamic property is deprecated in PHP 8.2.0 #512
-
Não tenho certeza onde devo dar meu relato e feedback, mas enfim... Estou buscando meus planos de assinatura através do método
E pelo que vi, a causa disso é simplesmente porque a propriedade Analisando um pouco mais o código, notei que parte disso também ocorre porque não existe nenhuma verificação (que destaquei com foreach ($data as $key => $value) {
if (!is_null($value) && !empty($value) && is_array($value) && method_exists($object, "map")) {
$class_name = $object->map($key);
if (!is_null($class_name) && class_exists($class_name, true)) {
if (is_array($value) && is_numeric(key($value))) {
$deserialized_values = [];
foreach ($value as $item) {
$deserialized_values[] = self::_deserializeFromJson($class_name, $item);
}
$object->$key = $deserialized_values;
} else {
$object->$key = self::_deserializeFromJson($class_name, $value);
}
}
} else {
$object->{$key} = $value;
// ^^^^^^^^^^^^^^^^^^^^^^^^^
// Adicione uma condição verificando se a $key existe no $object
}
} Como destacado no comentário, não seria interessante adicionar uma condição para verificar se $key existe no $object? Dessa forma o erro não ocorrerá mais em nenhum cenário (embora não tenhamos mais nenhum feedback de que uma nova propriedade precise ser adicionada). Eu alterei (no meu localhost) o trecho em destaque pra isso: if(property_exists($object, $key)) $object->{$key} = $value; |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Olá, @3nderXP |
Beta Was this translation helpful? Give feedback.
-
Este warning sigue sucediendo incluso 4 meses después |
Beta Was this translation helpful? Give feedback.
Olá, @3nderXP
Muito obrigada pelo contato!
Iremos analisar sua solicitação e adicioná-la ao nosso backlog para que seja implementada/o erro seja corrigido.
Caso deseje contribuir diretamente com o código, também aceitamos contribuições no formato de Pull Requests.