Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bila hendak menggunakan $this-> vs. $propertyName dalam Akses Harta Objek PHP?

Bila hendak menggunakan $this-> vs. $propertyName dalam Akses Harta Objek PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 08:24:03325semak imbas

When to Use $this-> lwn. $propertyName dalam PHP Object Property Access? lwn. $propertyName dalam PHP Object Property Access?" />

Mengakses Sifat Objek PHP: Dilema Sintaks

Mengakses sifat objek dalam PHP boleh menjadi tugas yang mudah, tetapi nuansa menggunakan $this-> berbanding $ini->$harta benda timbul. Artikel ini menyelidiki perbezaan dan menyelesaikan kekeliruan seputar penggunaannya.

PHP menawarkan dua cara untuk mengakses harta objek:

  • Menggunakan Nama Harta Khusus :

    • $propertyName
    • Mengakses pembolehubah tertentu dalam objek.
  • Menggunakan $ ini-> Operator:

    • $this->propertyName
    • Mengakses atribut khusus objek. Ia amat berguna apabila terdapat keperluan untuk menggunakan nama sifat yang sama seperti pembolehubah tempatan.

$this-> Operator

Apabila menggunakan $this->, kami pada asasnya merujuk kepada tika semasa objek. Ini membolehkan kami menggunakan pembolehubah dan kaedah yang ditakrifkan dalam kelas. Walau bagaimanapun, cuba mengakses harta menggunakan $this-> dengan nama sifat yang tidak ditentukan akan mengakibatkan ralat "Tidak boleh mengakses harta kosong" yang terkenal.

Contoh:

Pertimbangkan kod berikut:

<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>

Outputnya ialah:

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

Atas ialah kandungan terperinci Bila hendak menggunakan $this-> vs. $propertyName dalam Akses Harta Objek PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn