Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Lulus Kaedah Kelas sebagai Panggilan Balik dalam PHP?

Bagaimana untuk Lulus Kaedah Kelas sebagai Panggilan Balik dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-19 21:37:02252semak imbas

How to Pass Class Methods as Callbacks in PHP?

Menggunakan Kaedah Kelas sebagai Panggilan Balik dalam PHP

Latar Belakang:

Selalunya, anda mungkin memerlukan untuk lulus kaedah kelas sebagai panggilan balik untuk dilaksanakan dalam konteks luaran. Panduan ini meneroka teknik untuk mencapai ini dalam PHP.

Meluluskan Kaedah Kelas sebagai Panggilan Balik

Terdapat beberapa pendekatan untuk menghantar kaedah kelas sebagai panggilan balik:

1. Menggunakan Tatasusunan:

  • Untuk kaedah bukan statik, buat tatasusunan dengan objek pada indeks 0 dan nama kaedah pada indeks 1.
  • Contoh: $this- >processSomething([$this, 'myCallback']);

2. Menggunakan Nama Kelas Statik:

  • Untuk kaedah statik, gunakan nama kelas dan bukannya objek dalam tatasusunan.
  • Contoh: $this->processSomething([__CLASS____ , 'myStaticCallback']);

3. Menggunakan Pemalar Kelas dan PHP 5.2.3 :

  • Dari PHP 5.2.3 dan seterusnya, anda boleh menggunakan pemalar kelas sendiri diikuti dengan nama kaedah statik tanpa tatasusunan.
  • Contoh: $this->processSomething(self::myStaticCallback);

4. Menggunakan Rujukan Kelas PHP 5.5.0:

  • Dalam PHP 5.5.0 dan lebih baru, anda boleh menggunakan sintaks MyClass::class untuk merujuk kelas dan kaedahnya.
  • Contoh: $this->processSomething([MyClass::class, 'myStaticCallback']);

5. Melepasi Fungsi PHP Global (Tidak Berkenaan):

  • Fungsi PHP Global boleh dihantar terus sebagai rentetan.
  • Contoh: $this->processSomething('some_global_php_function') ;

Nota tentang Kaedah Statik dan Contoh:

  • Hanya kaedah contoh memerlukan tika objek dalam tatasusunan. Kaedah statik boleh digunakan tanpa objek dan dihantar terus sebagai rujukan kelas.
  • Untuk kaedah bukan statik, anda juga boleh menghantar tatasusunan dengan kunci object_id dan bukannya contoh objek. Ini berguna semasa membuat siri panggilan balik.

Atas ialah kandungan terperinci Bagaimana untuk Lulus Kaedah Kelas sebagai Panggilan Balik 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