353 of 410 menu

Metod __callStatic

Metod __callStatic je magični metod u PHP-u koji se automatski poziva prilikom pokušaja poziva nepostojećeg ili nedostupnog statičkog metoda. Kao prvi parametar prima naziv pozvanog metoda, a kao drugi - niz prosleđenih argumenata.

Sintaksa

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

Primer

Kreirajmo klasu sa metodom __callStatic i pokušajmo da pozovemo nepostojeći statički metod:

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

Rezultat izvršenja koda:

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

Primer

Implementirajmo jednostavan fasad za kreiranje objekata različitih tipova:

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

Rezultat izvršenja koda:

true

Pogledajte takođe

  • metod __call,
    koji presreće pozive nepostojećih metoda objekta
  • metod __get,
    koji presreće pristupe nepostojećim svojstvima
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij