Maison >développement back-end >tutoriel php >Comment puis-je définir des propriétés de classe dynamique en PHP ?
Définition de propriété de classe dynamique en PHP
L'attribution dynamique de valeurs de propriété au sein de la même classe n'est pas possible en PHP en raison des limitations imposées par le langage. processus de compilation. L'erreur que vous avez rencontrée provient d'une tentative de référencement d'une propriété d'objet dans sa propre définition, ce qui n'est pas autorisé.
Approche constructeur
Pour résoudre ce problème, classez les propriétés qui dépendre d’autres propriétés peut être initialisé dans la méthode constructeur. Par exemple, dans votre exemple :
public function __construct() { $this->fullname = $this->firstname . ' ' . $this->lastname; $this->totalBal = $this->balance + $this->newCredit; }
Cette approche garantit que les propriétés dynamiques sont calculées et attribuées après la création de l'objet et que toutes ses propriétés ont été initialisées.
Pourquoi les affectations par défaut sont statiques
Selon le manuel PHP, les affectations par défaut des propriétés de classe doivent être des valeurs constantes qui peuvent être évaluées au moment de la compilation. Cette restriction empêche l'utilisation d'informations d'exécution ou de valeurs dynamiques dans les définitions de propriétés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!