Quelle est la syntaxe d'accès aux propriétés des objets PHP ?
P粉966335669
P粉966335669 2023-08-22 19:45:26
0
2
670
<p><strong>Comment accéder aux propriétés d'un objet PHP ? </strong></p> <p>De plus, quelle est la différence entre l'accès aux propriétés d'un objet à l'aide de <code>$this->$property1</code> et <code>$this->property1</code> ? </p> <p>Lorsque j'essaie d'utiliser <code>$this->$property1</code>, j'obtiens l'erreur suivante : </p> <blockquote> <p>'PHP : Impossible d'accéder à la propriété null'. </p> </blockquote> <p>Il y a un commentaire dans la documentation des propriétés des objets de PHP qui mentionne ce problème, mais le commentaire ne l'explique pas en détail. </p>
P粉966335669
P粉966335669

répondre à tous(2)
P粉143640496

$this->property1 signifie :

Utilisez l'objet et récupérez la variable property1 liée à l'objet

$this->$property1 signifie :

Évalue la chaîne $property1 et utilise le résultat pour obtenir une variable nommée par le résultat $property1, qui est liée à l'objet

P粉336536706
  1. $property1 //Variables spécifiques
  2. $this->property1 // Attributs spécifiques

Dans un usage normal des classes, il n'est pas nécessaire d'utiliser "$", sinon vous appellerez une variable nommée "$",否则你将调用一个名为$property1 qui peut prendre n'importe quelle valeur.

Exemple :

class X {
  public $property1 = 'Value 1';
  public $property2 = 'Value 2';
}
$property1 = 'property2';  // 属性2的名称
$x_object = new X();
echo $x_object->property1; // 返回 'Value 1'
echo $x_object->$property1; // 返回 'Value 2'
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal