354 of 410 menu

Método __invoke

O método mágico __invoke permite que uma instância de uma classe seja chamada como uma função. Quando um objeto é chamado como uma função, o PHP chama automaticamente este método. O método pode receber parâmetros e retornar um valor, como uma função comum.

Sintaxe

class MyClass { public function __invoke(...$args) { // implementação } }

Exemplo

Vamos criar uma classe com o método __invoke e chamar o objeto como uma função:

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

Resultado da execução do código:

'Hello, John!'

Exemplo

Usando __invoke com múltiplos parâmetros:

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

Resultado da execução do código:

8

Exemplo

Verificando se um objeto é chamável 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 da execução do código:

false true

Veja também

  • método __construct,
    que é o construtor da classe
  • método __toString,
    que permite que um objeto seja representado como uma string
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar