C'è un modo per rilevare il numero di argomenti di una funzione in una classe?Ottieni il numero di argomenti per una funzione di classe
Quello che voglio fare è il seguente.
$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);
}
È possibile?
sicuro. puoi comunque, alla tua definizione di classe, usare qualcosa come func_get_arg() [http://php.net/manual/en/function.func-get-arg.php] e in base agli argomenti ricevuti, fare cose diverse .. – acm
Dovresti considerare un design alternativo. Potresti fornire più contesto al tuo problema? – erisco
Si prega di chiarire se si desidera conoscere il numero di argomenti passati a una funzione in fase di esecuzione, ad es. 'fn (1,1,1)' (3 argomenti) o il numero di argomenti forniti nella firma, ad es. 'function fn ($ a, $ b $ c = 0, $ d = 0)' (4 argomenti, 2 richiesti, 2 facoltativi) – Gordon