353 of 410 menu

Metode __callStatic

Metode __callStatic adalah metode ajaib (magic method) dalam PHP yang secara otomatis dipanggil ketika ada upaya untuk memanggil metode statis yang tidak ada atau tidak dapat diakses. Parameter pertamanya menerima nama metode yang dipanggil, parameter kedua menerima array argumen yang diteruskan.

Sintaks

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

Contoh

Mari buat kelas dengan metode __callStatic dan coba panggil metode statis yang tidak ada:

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

Hasil eksekusi kode:

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

Contoh

Mari implementasikan fasad sederhana untuk membuat objek berbagai tipe:

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

Hasil eksekusi kode:

true

Lihat Juga

  • metode __call,
    yang mengintercept panggilan ke metode objek yang tidak ada
  • metode __get,
    yang mengintercept akses ke properti yang tidak ada
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak