Bonjour, depuis PHP 8.2 on ne peut plus déclarer dynamiquement les propriétés
Quand on utilise __get() pour transformer l'appel d'une fonction $post->getUrl() en $post->url
Si __get() si trouve dans une class (Article par exemple)
Soit on ne défini pas $url pour que __get($key) s'exécute -> $url inconnu -> getUrl(), mais on a une erreur Article::url défini dynamiquement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public function __get($key){ $method = 'get' . ucfirst($key); $this->$key = $this->$method(); return $this->$method(); }
Soit on déclare $url, mais du coup __get($key) NE s'exécute PAS puisque la variable existe
Est ce que j'ai bien compris le problème ?
Et comment résoudre cela (ou les méthodes magiques il faut oublier)
Partager