PHP: имена аргументов функций

Мне нужно получить имена аргументов анонимной функции.

Например:

$func = function ( $param1, $param2 ) { ... };
$names = DO_SOMETHING($func); 
// after this $names should become something like array('param1', param2')

Теоретически это возможно, потому что var_dump ( $ func) говорит, что $ func является объектом класса Closure и имеет свойство параметр , которое является array ('param1', ' param2 ') .

Официальная документация на php.net не описывает методы класса Closure, которые могут мне помочь.

Я пытался получить доступ к этому свойству напрямую, но PHP умер с фатальной ошибкой: Замыкающий объект не может иметь свойств .

I ' Мы пытались получить переменные объекта с помощью get_object_vars , но похоже, что свойство параметра объявлено как частное (в любом случае, get_object_vars не возвращает его).

я знаю только один способ - перехватить вывод var_dump и проанализировать его, но, как мы легко понимаем, мы не должны писать наши скрипты таким образом =)

Извините за мой плохой английский.

5
задан Konstantin Likhter 2 May 2011 в 08:26
поделиться