Articles of отражение

Как получить параметр конструктора через отражение?

Я использую тип, намекающий на список параметров конструктора следующим образом: public function __construct(FooRepository $repository) Есть ли способ использовать PHP Reflection API для получения намеченного типа? Другими словами, я хочу функцию отражения, которую я могу вызвать, чтобы как-то вернуть строку «FooRepository». Я попытался получить конструктор через отражение, а затем получить параметры, если конструктор, но я не […]

PHP Reflection: как узнать, наследуется ли ReflectionMethod?

В документации ReflectionMethod я не могу найти ничего, чтобы знать, что метод был унаследован от его родительского класса или определен в отраженном классе. Изменить: я использую ReflectionClass :: getMethods () . Я хочу знать для каждого метода, если он был определен в отраженном классе или если он определен в родительском классе. В конце концов, я […]

php создать метод класса во время выполнения

Мне интересно, есть ли способ прикрепить новый метод к классу во время выполнения, в php. Я имею в виду не на уровне экземпляра, а непосредственно в классе, так что все вновь созданные экземпляры имеют этот новый метод. Можно ли это сделать с отражением? благодаря

Есть ли способ получить имя переменной? PHP – отражение

Я знаю, что это не совсем отражение, но как бы то ни было. Я хочу сделать функцию отладки, которая получает переменную и печатает var_dump и имя переменной. Конечно, когда программист пишет вызов функции, они уже знают имя переменной, поэтому они могут написать что-то вроде: debug( $myvar, 'myvar' ); Но я хочу, чтобы это было быстро […]

Могу ли я передать ассоциативный массив в качестве аргумента в ReflectionMethod :: invokeArgs?

Можно ли передавать параметры как ассоциативный массив в 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));

восстановить / получить код функции php

Могу ли я программно получить код функции по имени? Подобно: 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 Reflection – Получить метод Тип параметра As String

Я пытаюсь использовать отражение PHP для динамической загрузки файлов классов моделей автоматически в зависимости от типа параметра, который находится в методе контроллера. Вот пример метода контроллера. <?php class ExampleController { public function PostMaterial(SteelSlugModel $model) { //etc… } } Вот что я до сих пор. //Target the first parameter, as an example $param = new ReflectionParameter(array('ExampleController', […]