¿Hay alguna forma de detectar el número de argumentos que tiene una función en una clase?Obtener el número de argumentos para una función de clase
Lo que quiero hacer es lo siguiente.
$class = 'foo';
$path = 'path/to/file';
if (! file_exists($path)) {
die();
}
require($path);
if (! class_exists($class)) {
die();
}
$c = new class;
if (num_function_args($class, $function) == count($url_segments)) {
$c->$function($one, $two, $three);
}
¿Esto es posible?
seguro. Sin embargo, puede, en la definición de su clase, usar algo como func_get_arg() [http://php.net/manual/en/function.func-get-arg.php] y según los argumentos recibidos, hacer cosas diferentes ... – acm
Deberías considerar un diseño alternativo. ¿Podría proporcionar más contexto a su problema? – erisco
Por favor, aclare si desea saber la cantidad de argumentos pasados a una función en tiempo de ejecución, p. 'fn (1,1,1)' (3 argumentos) o la cantidad de argumentos dados en la firma, p. 'function fn ($ a, $ b $ c = 0, $ d = 0)' (4 argumentos, 2 obligatorios, 2 opcionales) – Gordon