2010-08-02 14 views
43

en PHP puedo comprobar todos los métodos disponibles para un objeto de esta manera:PHP: ¿Obtener los argumentos del método?

$methods = get_class_methods($object); 

Pero ¿cómo puedo ver argumentos wich tienen que ser enviados a estos métodos?

¿Existe una función para esto?

Respuesta

88

Puede utilizar reflection ...

$r = new ReflectionMethod($className, $methodName); 
$params = $r->getParameters(); 
foreach ($params as $param) { 
    //$param is an instance of ReflectionParameter 
    echo $param->getName(); 
    echo $param->isOptional(); 
} 
+1

gracias un montón :) – Rakward

+3

Y cuando lo que desea saber cuántos argumentos un necesario, usar 'getNumberOfRequiredParameters' http: //www.php. net/manual/es/reflectionfunctionabstract.getnumberofrequiredparameters.php – bastey

+1

¿Hay alguna forma de devolver lo que sería aceptado como argumento con éxito? Por ejemplo, si acepta una cadena, enumere las cadenas que acepta? –

Cuestiones relacionadas