353 of 410 menu

Phương thức __callStatic

Phương thức __callStatic là một phương thức ma thuật trong PHP, được tự động gọi khi cố gắng gọi một phương thức tĩnh không tồn tại hoặc không thể truy cập. Tham số đầu tiên của nó nhận tên phương thức được gọi, tham số thứ hai - một mảng các đối số được truyền.

Cú pháp

public static function __callStatic(string $name, array $arguments);

Ví dụ

Tạo một lớp với phương thức __callStatic và thử gọi một phương thức tĩnh không tồn tại:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Đã gọi phương thức tĩnh '$name' với các đối số: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

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

Called static method 'nonExistentMethod' with arguments: [1, 2, 3]

Ví dụ

Triển khai một facade đơn giản để tạo các đối tượng thuộc các kiểu khác nhau:

<?php class Factory { public static function __callStatic($name, $args) { if (strpos($name, 'create') === 0) { $className = substr($name, 6); return new $className(...$args); } throw new Exception("Method $name not found"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

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

true

Xem thêm

  • phương thức __call,
    chặn bắt các lời gọi tới các phương thức không tồn tại của đối tượng
  • phương thức __get,
    chặn bắt các truy cập tới các thuộc tính không tồn tạ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