354 of 410 menu

Méthode __invoke

La méthode magique __invoke permet à une instance de classe d'être appelée comme une fonction. Lorsqu'un objet est appelé comme une fonction, PHP appelle automatiquement cette méthode. La méthode peut accepter des paramètres et retourner une valeur, comme une fonction ordinaire.

Syntaxe

class MyClass { public function __invoke(...$args) { // implémentation } }

Exemple

Créons une classe avec la méthode __invoke et appelons l'objet comme une fonction :

<?php class Greeter { public function __invoke($name) { return "Hello, $name!"; } } $greet = new Greeter(); echo $greet('John'); ?>

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

'Hello, John!'

Exemple

Utilisation de __invoke avec plusieurs paramètres :

<?php class Calculator { public function __invoke($a, $b) { return $a + $b; } } $calc = new Calculator(); echo $calc(5, 3); ?>

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

8

Exemple

Vérifier si un objet est appelable avec is_callable :

<?php class Test {} $obj1 = new Test(); $obj2 = new class { public function __invoke() {} }; var_dump(is_callable($obj1)); var_dump(is_callable($obj2)); ?>

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

false true

Voir aussi

  • la méthode __construct,
    qui est le constructeur de la classe
  • la méthode __toString,
    qui permet à un objet d'être représenté sous forme de chaîne
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