Czy istnieje sposób na określenie liczby argumentów funkcji w klasie?Uzyskaj liczbę argumentów dla funkcji klasy
Co chcę zrobić, to co następuje.
$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);
}
Czy to możliwe?
pewien. możesz jednak, przy definicji twojej klasy, użyć czegoś takiego jak func_get_arg() [http://php.net/manual/en/function.func-get-arg.php] i zgodnie z otrzymanymi argumentami, robić różne rzeczy .. – acm
Powinieneś rozważyć alternatywny projekt. Czy możesz podać więcej kontekstu swojego problemu? – erisco
Proszę wyjaśnić, czy chcesz poznać liczbę argumentów przekazanych do funkcji w środowisku wykonawczym, np. 'fn (1,1,1)' (3 argumenty) lub liczba argumentów podanych w podpisie, np. 'function fn ($ a, $ b $ c = 0, $ d = 0)' (4 argumenty, 2 wymagane, 2 opcjonalne) – Gordon