353 of 410 menu

Metoden __callStatic

Metoden __callStatic er en magisk metode i PHP, som automatisk kaldes ved forsøg på at kalde en ikke-eksisterende eller utilgængelig statisk metode. Den tager navnet på den kaldte metode som første parameter og et array af de overførte argumenter som anden parameter.

Syntaks

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

Eksempel

Lad os oprette en klasse med metoden __callStatic og prøve at kalde en ikke-eksisterende statisk metode:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Kaldte statisk metode '$name' med argumenter: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Resultat af kodeudførelse:

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

Eksempel

Lad os implementere en simpel facade til at oprette objekter af forskellige typer:

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

Resultat af kodeudførelse:

true

Se også

  • metoden __call,
    som opsamler kald til ikke-eksisterende objektmetoder
  • metoden __get,
    som opsamler henvendelser til ikke-eksisterende egenskaber
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis