354 of 410 menu

Kaedah __invoke

Kaedah ajaib __invoke membolehkan contoh kelas dipanggil sebagai fungsi. Apabila objek dipanggil sebagai fungsi, PHP secara automatik memanggil kaedah ini. Kaedah ini boleh menerima parameter dan mengembalikan nilai, seperti fungsi biasa.

Sintaks

class MyClass { public function __invoke(...$args) { // pelaksanaan } }

Contoh

Mari buat kelas dengan kaedah __invoke dan panggil objek sebagai fungsi:

<?php class Greeter { public function __invoke($name) { return "Hello, $name!"; } } $greet = new Greeter(); echo $greet('John'); ?>

Keputusan pelaksanaan kod:

'Hello, John!'

Contoh

Penggunaan __invoke dengan beberapa parameter:

<?php class Calculator { public function __invoke($a, $b) { return $a + $b; } } $calc = new Calculator(); echo $calc(5, 3); ?>

Keputusan pelaksanaan kod:

8

Contoh

Menyemak sama ada objek boleh dipanggil menggunakan is_callable:

<?php class Test {} $obj1 = new Test(); $obj2 = new class { public function __invoke() {} }; var_dump(is_callable($obj1)); var_dump(is_callable($obj2)); ?>

Keputusan pelaksanaan kod:

false true

Lihat juga

  • kaedah __construct,
    yang merupakan pembina kelas
  • kaedah __toString,
    yang membolehkan objek diwakilkan sebagai rentetan
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak