353 of 410 menu

Meetod __callStatic

Meetod __callStatic on PHP-s maagiline meetod, mis automaatselt käivitub, kui proovitakse välja kutsuda olematut või kättesaamatut staatilist meetodit. Esimese parameetrina võtab ta kutsutava meetodi nime, teisena - edastatud argumentide massiivi.

Süntaks

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

Näide

Loome klassi meetodiga __callStatic ja proovime kutsuda välja olematut staatilist meetodit:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Kutsuti staatilist meetodit '$name' argumentidega: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Koodi täitmise tulemus:

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

Näide

Implementeerime lihtsa fassaadi eri tüüpi objektide loomiseks:

<?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("Meetodit $name ei leitud"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

Koodi täitmise tulemus:

true

Vaata ka

  • meetod __call,
    mis püüab kinni objektile mitteeksisteerivate meetodite kutsed
  • meetod __get,
    mis püüab kinni viited mitteeksisteerivatele omadustele
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu