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 "Called static method '$name' with arguments: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

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

Called static method 'nonExistentMethod' with arguments: [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("Method $name not found"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

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

true

Погледнете ги и

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