Bagaimana untuk Lulus Kaedah Kelas sebagai Panggilan Balik dalam PHP?

Linda Hamilton
Lepaskan: 2024-10-19 21:37:02
asal
246 orang telah melayarinya

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!