Maison  >  Article  >  développement back-end  >  Quand utiliser $this-> vs $propertyName dans l'accès aux propriétés d'objet PHP ?

Quand utiliser $this-> vs $propertyName dans l'accès aux propriétés d'objet PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-22 08:24:03326parcourir

When to Use $this-> contre $propertyName dans l'accès aux propriétés d'objet PHP? contre $propertyName dans l'accès aux propriétés d'objet PHP?" />

Accès aux propriétés des objets PHP : le dilemme syntaxique

Accéder aux propriétés des objets en PHP peut être une tâche simple, mais la nuance de l'utilisation de $this-> contre $this->$property apparaît. Cet article approfondit la distinction et résout la confusion entourant son utilisation.

PHP propose deux manières d'accéder à la propriété d'un objet :

  • Utilisation du nom de propriété spécifique :

    • $propertyName
    • Accès à une variable spécifique dans l'objet.
  • Utilisation du $ ceci-> Opérateur :

    • $this->propertyName
    • Accès à un attribut spécifique de l'objet. C'est particulièrement utile lorsqu'il est nécessaire d'utiliser le même nom de propriété qu'une variable locale.

Le $this-> Opérateur

Lors de l'utilisation de $this->, nous faisons essentiellement référence à l'instance actuelle de l'objet. Cela nous permet d'utiliser des variables et des méthodes définies dans la classe. Cependant, tenter d'accéder à une propriété à l'aide de $this-> avec un nom de propriété non défini entraînera la fameuse erreur « Impossible d'accéder à la propriété vide ».

Exemple :

Considérez le code suivant :

<code class="php">class X {
  public $property1 = 'Value 1';
  public $property2 = 'Value 2';
}

$property1 = 'property2';
$x_object = new X();
echo $x_object->property1;
echo $x_object->$property1;</code>

Le résultat sera :

<code class="php">Value 1
Value 2</code>

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!

Déclaration:
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