Я использую тип, намекающий на список параметров конструктора следующим образом: public function __construct(FooRepository $repository) Есть ли способ использовать PHP Reflection API для получения намеченного типа? Другими словами, я хочу функцию отражения, которую я могу вызвать, чтобы как-то вернуть строку «FooRepository». Я попытался получить конструктор через отражение, а затем получить параметры, если конструктор, но я не […]
В документации ReflectionMethod я не могу найти ничего, чтобы знать, что метод был унаследован от его родительского класса или определен в отраженном классе. Изменить: я использую ReflectionClass :: getMethods () . Я хочу знать для каждого метода, если он был определен в отраженном классе или если он определен в родительском классе. В конце концов, я […]
Мне интересно, есть ли способ прикрепить новый метод к классу во время выполнения, в php. Я имею в виду не на уровне экземпляра, а непосредственно в классе, так что все вновь созданные экземпляры имеют этот новый метод. Можно ли это сделать с отражением? благодаря
Я знаю, что это не совсем отражение, но как бы то ни было. Я хочу сделать функцию отладки, которая получает переменную и печатает var_dump и имя переменной. Конечно, когда программист пишет вызов функции, они уже знают имя переменной, поэтому они могут написать что-то вроде: debug( $myvar, 'myvar' ); Но я хочу, чтобы это было быстро […]
Можно ли передавать параметры как ассоциативный массив в ReflectionMethod::invokeArgs ? Это позволило бы мне передать аргументы в другом порядке, чем объявлено. Например: class A { public function someMethod($a, $b) { return sprintf("a – %s, b – %s", $a, $b); } } $rm = new ReflectionMethod('A', 'someMethod'); echo $rm->invokeArgs(new A(), array('b' => 1, 'a' => 2));
Могу ли я программно получить код функции по имени? Подобно: function blah($a, $b) { return $a*$b; } echo getFunctionCode("blah"); Является ли это возможным? Существуют ли какие-либо самоописательные функции php для восстановления кода функции / класса? (значит, вместо того, чтобы получать исходный код прямо из исходного файла) В Java существует: http://java.sun.com/developer/technicalArticles/ALT/Reflection/ В PHP: get_class_methods () тип […]
У меня есть php-файл, который содержит только один класс. как я могу узнать, какой класс существует, зная имя файла? Я знаю, что могу сделать что-то с регулярным выражением, но есть ли стандартный способ php? (файл уже включен в страницу, которая пытается определить имя класса).
Я пытаюсь использовать отражение PHP для динамической загрузки файлов классов моделей автоматически в зависимости от типа параметра, который находится в методе контроллера. Вот пример метода контроллера. <?php class ExampleController { public function PostMaterial(SteelSlugModel $model) { //etc… } } Вот что я до сих пор. //Target the first parameter, as an example $param = new ReflectionParameter(array('ExampleController', […]