353 of 410 menu

Метод __callStatic

Метод __callStatic је магични метод у PHP који се аутоматски позива приликом покушаја позива непостојећег или недоступног статичког метода. Први параметар који прима је име позиваног метода, а други је низ прослеђених аргумената.

Синтакса

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

Пример

Креирајмо класу са методом __callStatic и покушајмо да позовемо непостојећи статички метод:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Позван статички метод '$name' са аргументима: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Резултат извршавања кода:

Позван статички метод 'nonExistentMethod' са аргументима: [1, 2, 3]

Пример

Имплементирајмо једноставан фасаду за креирање објеката различитих типова:

<?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("Метод $name није пронађен"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

Резултат извршавања кода:

true

Погледајте такође

  • метод __call,
    који пресреће позиве непостојећих метода објекта
  • метод __get,
    који пресреће приступање непостојећим својствима
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј