Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang panggilan kaedah serupa dalam PHP

Penjelasan terperinci tentang panggilan kaedah serupa dalam PHP

PHPz
PHPzasal
2023-04-04 09:11:58634semak imbas

Dengan perkembangan teknologi Internet, PHP ialah bahasa pengaturcaraan yang digunakan secara meluas, dan semakin ramai orang mula berhubung dengannya. Dalam PHP, panggilan kaedah serupa adalah teknik yang agak biasa Artikel ini akan memperkenalkan panggilan kaedah serupa dalam PHP.

1. Konsep asas pemanggilan kaedah serupa

Panggilan kaedah serupa merujuk kepada panggilan kaedah lain dalam kelas dalam kelas. Ciri panggilan kaedah yang serupa ialah anda boleh terus menggunakan sifat dan kaedah objek semasa tanpa membuat seketika objek lain.

2. Sintaks untuk memanggil kaedah yang serupa

Sintaks untuk memanggil kaedah yang serupa adalah sangat mudah. ​​Anda hanya perlu menambah kata kunci sendiri sebelum kaedah tersebut.

Berikut ialah contoh:

class MyClass {

  protected $foo = 'bar';

  public function myMethod() {
    echo self::internalMethod();
  }

  protected function internalMethod() {
    return $this->foo;
  }
}

$obj = new MyClass();
$obj->myMethod(); // 输出“bar”

Dalam contoh di atas, kami telah menentukan kelas yang dipanggil MyClass. Terdapat foo harta yang dilindungi dan dua kaedah dalam kelas ini, satu kaedah myMethod dan satu lagi kaedah internalMethod.

Dalam kaedah myMethod, kami menggunakan self::internalMethod() untuk memanggil kaedah yang serupa. Diri di sini mewakili kelas semasa, iaitu kelas MyClass. Kaedah internalMethod ialah kaedah lain bagi kelas ini. Hasil panggilan akan mengeluarkan nilai "bar" atribut $foo.

3. Langkah berjaga-jaga untuk memanggil kaedah yang serupa

  • Kaedah yang dilindungi dan peribadi dalam kelas induk tidak boleh dipanggil dalam kategori yang sama.
  • Panggilan kaedah yang serupa akan sentiasa hanya memanggil kaedah dalam kelas semasa, tetapi bukan kaedah dalam subkelasnya.
  • Panggilan kaedah yang serupa boleh digunakan dalam kaedah statik, tetapi dalam kes ini kata kunci statik perlu digunakan dan bukannya kata kunci sendiri.

4. Contoh penjelasan

class A {
    protected $name = 'Tom';
    public function getName(){
        return $this->name;    
    }
}

class B extends A {
    public function test(){
        echo $this->getName();    
    }
}

$obj = new B;
$obj->test(); //输出Tom

Dalam contoh di atas, kami mentakrifkan dua kelas, A dan B, di mana kelas B ialah subkelas kelas A. Dalam kelas B kami mentakrifkan kaedah test(), di mana kaedah getName() dipanggil.

Dalam kaedah getName(), kami menggunakan $this->name untuk mengembalikan nilai atribut $name bagi objek semasa. Dalam kaedah test(), kami secara langsung menggunakan $this->getName() untuk membuat panggilan kaedah yang serupa.

Hasil larian akan mengeluarkan nilai "Tom" bagi atribut $name.

5. Ringkasan

Memanggil kaedah yang serupa ialah teknik yang sangat praktikal dalam PHP, yang membolehkan kami mengendalikan kaedah dan atribut dalam kelas dengan lebih mudah. Apabila memanggil kaedah jenis yang sama, anda perlu memberi perhatian untuk mengekalkan konteks kelas semasa dan memberi perhatian kepada hubungan warisan.

Atas ialah kandungan terperinci Penjelasan terperinci tentang panggilan kaedah serupa dalam 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