353 of 410 menu

Méthode __callStatic

La méthode __callStatic est une méthode magique en PHP qui est automatiquement appelée lors d'une tentative d'appel à une méthode statique inexistante ou inaccessible. Son premier paramètre est le nom de la méthode appelée, le second est un tableau des arguments passés.

Syntaxe

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

Exemple

Créons une classe avec la méthode __callStatic et essayons d'appeler une méthode statique inexistante :

<?php class MyClass { public static function __callStatic($name, $args) { echo "Méthode statique '$name' appelée avec les arguments : "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Résultat de l'exécution du code :

Méthode statique 'nonExistentMethod' appelée avec les arguments : [1, 2, 3]

Exemple

Implémentons une façade simple pour créer des objets de différents types :

<?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("Méthode $name non trouvée"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

Résultat de l'exécution du code :

true

Voir aussi

  • la méthode __call,
    qui intercepte les appels aux méthodes inexistantes d'un objet
  • la méthode __get,
    qui intercepte les accès aux propriétés inexistantes
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser