353 of 410 menu

Metoden __callStatic

Metoden __callStatic är en magisk metod i PHP som automatiskt anropas vid försök att anropa en icke-existerande eller otillgänglig statisk metod. Den tar namnet på den anropade metoden som första parameter och en array med skickade argument som andra parameter.

Syntax

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

Exempel

Låt oss skapa en klass med metoden __callStatic och försöka anropa en icke-existerande statisk metod:

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

Resultat av kodkörning:

Anropade statisk metod 'nonExistentMethod' med argument: [1, 2, 3]

Exempel

Låt oss implementera en enkel fasad för att skapa objekt av olika 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("Metoden $name hittades inte"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

Resultat av kodkörning:

true

Se även

  • metoden __call,
    som fångar upp anrop till icke-existerande objektmetoder
  • metoden __get,
    som fångar upp åtkomst till icke-existerande egenskaper
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa