353 of 410 menu

Metoda __callStatic

Metoda __callStatic je magična metoda v PHP-ju, ki se samodejno pokliče ob poskusu klica neobstoječe ali nedostopne statične metode. Kot prvi parameter sprejme ime klicane metode, kot drugega pa matriko posredovanih argumentov.

Sintaksa

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

Primer

Ustvarimo razred z metodo __callStatic in poskusimo poklicati neobstoječo statično metodo:

<?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 izvajanja kode:

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

Primer

Implementirajmo preprost fasado za ustvarjanje objektov različnih vrst:

<?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 izvajanja kode:

true

Glejte tudi

  • metoda __call,
    ki prestreže klici neobstoječih metod objekta
  • metoda __get,
    ki prestreže dostope do neobstoječih lastnosti
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni