Entendiendo las clases de PHP Reflection

ReflectionMethod

Esta clase permite llamar a métodos de una clase de manera dinámica. Imaginemos que tenemos una clase Manager con dos métodos:

class Manager
{
    metodoHola()
    {
        echo 'Hola';
    }
 
    metodoAdios()
    {
        echo 'Adios';
    }
}

Si queremos llamar a los métodos de la clase Manager de forma dinámica, en función de un parámetro, la clase ReflectionMethod nos permite hacerlo:

$reflectionMethod = new \ReflectionMethod('Manager', 'metodo'.ucfirst($variable));
$reflectionMethod->invoke($manager);

En el anterior ejemplo, si $variable = 'hola', al ejecutar $reflectionMethod->invoke($manager) ejecutaríamos el método metodoHola. Si en cambio fuese $variable = 'adios' llamaríamos a metodoAdios.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>