354 of 410 menu

Método __invoke

El método mágico __invoke permite que una instancia de clase sea invocada como una función. Cuando un objeto se invoca como una función, PHP llama automáticamente a este método. El método puede aceptar parámetros y devolver un valor, como una función normal.

Sintaxis

class MyClass { public function __invoke(...$args) { // implementación } }

Ejemplo

Creemos una clase con el método __invoke e invoquemos el objeto como una función:

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

Resultado de la ejecución del código:

'Hello, John!'

Ejemplo

Uso de __invoke con múltiples parámetros:

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

Resultado de la ejecución del código:

8

Ejemplo

Comprobando si un objeto es invocable usando is_callable:

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

Resultado de la ejecución del código:

false true

Ver también

  • método __construct,
    que es el constructor de la clase
  • método __toString,
    que permite representar el objeto como una cadena
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar