353 of 410 menu

Metodi __callStatic

Metodi __callStatic on maaginen metodi PHP:ssä, joka kutsutaan automaattisesti, kun yritetään kutsua olematonta tai käyttökelvotonta staattista metodia. Se saa ensimmäisenä parametrina kutsutun metodin nimen ja toisena parametrina lähetettyjen argumenttien taulukon.

Syntaksi

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

Esimerkki

Luodaan luokka metodilla __callStatic ja yritetään kutsua olematonta staattista metodia:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Kutsuttiin staattista metodia '$name' argumenteilla: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Koodin suorituksen tulos:

Kutsuttiin staattista metodia 'nonExistentMethod' argumenteilla: [1, 2, 3]

Esimerkki

Toteutetaan yksinkertainen fasadi erityyppisten objektien luomiseen:

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

Koodin suorituksen tulos:

true

Katso myös

  • metodi __call,
    joka sieppaa objektin olematonten metodien kutsut
  • metodi __get,
    joka sieppaa viittaukset olematomiin ominaisuuksiin
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää