Llamar objetos como si fueran funciones en PHP
En PHP 5.3 existe el método __invoke que permite llamar a un objeto como si se tratara de una función, y como lo mejor para entenderlo es un ejemplo, pues aquí va:
class Hola {
public function __invoke($quien) {
return "Hola, $quien";
}
}
$saluda = new Hola;
echo $saluda('amigo'); // "Hola, amigo"
Una función que desconocía y que puede ser muy útil, además de ser un 25% más rápida que hacer la llamada a un método del objeto que haga lo mismo.
Vía / Phly, boy, phly
Eso es porqué en PHP, al igual que otros muchos lenguajes dinámicos, las funciones son elementos de primer orden.