354 of 410 menu

Phương thức __invoke

Phương thức ma thuật __invoke cho phép một thể hiện của lớp được gọi như một hàm. Khi một đối tượng được gọi như một hàm, PHP sẽ tự động gọi phương thức này. Phương thức có thể nhận các tham số và trả về giá trị, giống như một hàm thông thường.

Cú pháp

class MyClass { public function __invoke(...$args) { // triển khai } }

Ví dụ

Tạo một lớp với phương thức __invoke và gọi đối tượng như một hàm:

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

Kết quả thực thi mã:

'Hello, John!'

Ví dụ

Sử dụng __invoke với nhiều tham số:

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

Kết quả thực thi mã:

8

Ví dụ

Kiểm tra xem một đối tượng có thể gọi được không bằng is_callable:

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

Kết quả thực thi mã:

false true

Xem thêm

  • phương thức __construct,
    là hàm tạo của lớp
  • phương thức __toString,
    cho phép đối tượng được biểu diễn dưới dạng chuỗi
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối