Maison > développement back-end > tutoriel php > Comment puis-je attribuer dynamiquement des valeurs aux propriétés de classe en PHP ?

Comment puis-je attribuer dynamiquement des valeurs aux propriétés de classe en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-01 07:30:15
original
651 Les gens l'ont consulté

How Can I Dynamically Assign Values to Class Properties in PHP?

Affectation dynamique de la valeur d'une propriété de classe en PHP

Définir des propriétés de classe avec des valeurs constantes est l'approche standard en PHP. Cependant, dans certains scénarios, il peut être nécessaire d'attribuer des valeurs de manière dynamique.

Exemple :

Considérez le code suivant :

class user {
    public $firstname = "jing";
    public $lastname  = "ping";
    public $balance   = 10;
    public $newCredit = 5;
    public $fullname  = $this->firstname.' '.$this->lastname;
    public $totalBal  = $this->balance+$this->newCredit;
}
Copier après la connexion

Ceci Le code tente d'attribuer les propriétés fullname et totalBal de manière dynamique en fonction des valeurs d'autres propriétés. Cependant, cela entraîne une erreur d'analyse en raison de l'utilisation de $this dans les propriétés au niveau de la classe.

Solution :

Pour attribuer dynamiquement des valeurs de propriété de classe, placez le code d'affectation dans le constructeur de classe. Par exemple :

class user {
    private $firstname;
    private $lastname;
    private $balance;
    private $newCredit;
    private $fullname;
    private $totalBal;
    
    public function __construct() {
        $this->firstname = "jing";
        $this->lastname  = "ping";
        $this->balance   = 10;
        $this->newCredit = 5;
        $this->fullname  = $this->firstname.' '.$this->lastname;
        $this->totalBal  = $this->balance+$this->newCredit;
    }
}
Copier après la connexion

Explication :

Les propriétés de classe ne peuvent pas se voir attribuer de valeurs dynamiques lors de la déclaration. Selon le manuel de PHP, l'initialisation doit être une valeur constante évaluée au moment de la compilation. En utilisant le constructeur, les valeurs peuvent être attribuées dynamiquement lors de la création de l'objet.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal