Могу ли я использовать отражение PHP для извлечения кода функции? - PullRequest
0 голосов
/ 28 ноября 2010

Я использую PHP ReflectionClass, чтобы извлечь как можно больше информации о классе.Могу ли я также использовать это для получения возвращаемых значений из функций?Или это не имеет смысла, так как отражение только определяет то, что принимает объект?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

Вы не можете полагаться, если функция имеет четко определенное возвращаемое значение, которое вы можете просто извлечь из исходного кода.Представьте себе что-то вроде этого:

return $this->isValid() ? $result : $this->createNullObject();

Сложно (/ невозможно) анализировать только для получения возвращаемого значения.Вместо этого вы можете использовать DocComments. @ return - это обычный тег для этого использования

/**
 * MyMethod
 *
 * @return int
 */

Вызов getDocComment () для ReflectionMethod -объекта и последующий анализ документа.

0 голосов
/ 25 ноября 2011

для внутренних функций вы можете использовать

<code>$reflect = new ReflectionExtension('standard');
echo "<pre>" . $reflect . "
";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...