353 of 410 menu

Metoden __callStatic

Metoden __callStatic er en magisk metode i PHP som automatisk kalles ved forsøk på å kalle en ikke-eksisterende eller utilgjengelig statisk metode. Den tar navnet på den aktuelle metoden som første parameter, og en matrise med de overførte argumentene som andre parameter.

Syntaks

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

Eksempel

La oss opprette en klasse med metoden __callStatic og prøve å kalle en ikke-eksisterende statisk metode:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Called static method '$name' with arguments: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Resultat av kjøring av koden:

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

Eksempel

La oss implementere en enkel fasade for å opprette objekter av forskjellige 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 av kjøring av koden:

true

Se også

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