353 of 410 menu

Kaedah __callStatic

Kaedah __callStatic ialah kaedah ajaib dalam PHP yang dipanggil secara automatik apabila cuba memanggil kaedah statik yang tidak wujud atau tidak boleh diakses. Parameter pertamanya menerima nama kaedah yang dipanggil, yang kedua - tatasusunan argumen yang diluluskan.

Sintaks

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

Contoh

Mari buat kelas dengan kaedah __callStatic dan cuba panggil kaedah statik yang tidak wujud:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Called static method '$name' with arguments: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Keputusan pelaksanaan kod:

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

Contoh

Mari laksanakan fasad mudah untuk mencipta objek pelbagai jenis:

<?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); ?>

Keputusan pelaksanaan kod:

true

Lihat juga

  • kaedah __call,
    yang menangkap panggilan kaedah objek yang tidak wujud
  • kaedah __get,
    yang menangkap capaian kepada sifat yang tidak wujud
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