354 of 410 menu

Die __invoke-Methode

Die magische Methode __invoke erlaubt es einer Klasseninstanz, wie eine Funktion aufgerufen zu werden. Wenn ein Objekt wie eine Funktion aufgerufen wird, ruft PHP automatisch diese Methode auf. Die Methode kann Parameter entgegennehmen und einen Wert zurückgeben, wie eine normale Funktion.

Syntax

class MyClass { public function __invoke(...$args) { // Implementierung } }

Beispiel

Erstellen wir eine Klasse mit der Methode __invoke und rufen das Objekt als Funktion auf:

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

Ergebnis der Codeausführung:

'Hello, John!'

Beispiel

Verwendung von __invoke mit mehreren Parametern:

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

Ergebnis der Codeausführung:

8

Beispiel

Prüfung, ob ein Objekt mit is_callable aufrufbar ist:

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

Ergebnis der Codeausführung:

false true

Siehe auch

  • die Methode __construct,
    die der Konstruktor der Klasse ist
  • die Methode __toString,
    die es erlaubt, das Objekt als Zeichenkette darzustellen
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