353 of 410 menu

Methode __callStatic

Die Methode __callStatic ist eine magische Methode in PHP, die automatisch aufgerufen wird, wenn versucht wird, eine nicht vorhandene oder nicht zugängliche statische Methode aufzurufen. Als ersten Parameter erwartet sie den Namen der aufgerufenen Methode, als zweiten - ein Array der übergebenen Argumente.

Syntax

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

Beispiel

Erstellen wir eine Klasse mit der Methode __callStatic und versuchen, eine nicht vorhandene statische Methode aufzurufen:

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

Ergebnis der Codeausführung:

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

Beispiel

Implementieren wir ein einfaches Facade für die Erstellung von Objekten verschiedener Typen:

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

Ergebnis der Codeausführung:

true

Siehe auch

  • Methode __call,
    die Aufrufe nicht vorhandener Objektmethoden abfängt
  • Methode __get,
    die Zugriffe auf nicht vorhandene Eigenschaften abfängt
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen