353 of 410 menu

A __callStatic metódus

A __callStatic metódus egy mágikus metódus a PHP-ban, amely automatikusan meghívódik, amikor egy nem létező vagy nem elérhető statikus metódust próbálnak meghívni. Első paraméterként a meghívott metódus nevét, második paraméterként pedig az átadott argumentumok tömbjét kapja.

Szintaxis

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

Példa

Hozzunk létre egy osztályt a __callStatic metódussal, és próbáljunk meg egy nem létező statikus metódust meghívni:

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

A kód végrehajtásának eredménye:

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

Példa

Valósítsunk meg egy egyszerű fákadeot különböző típusú objektumok létrehozásához:

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

A kód végrehajtásának eredménye:

true

Lásd még

  • a __call metódus,
    amely egy objektum nem létező metódusainak hívását fogja el
  • a __get metódus,
    amely a nem létező tulajdonságok elérését fogja el
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás