получить комментарии метода php - PullRequest
1 голос
/ 11 марта 2010

Я хочу получить комментарии метода, например, метод ниже:

/**
* Returns the regex to extract all inputs from a file.
* @param string The class name to search for.
* @return string The regex.
*/
public function method($param)
{
  //...
}

результат должен быть

Returns the regex to extract all inputs from a file.
@param string The class name to search for.
@return string The regex.

Я нашел способ использовать функцию наподобие file_get_content для получения содержимого файла -> отфильтровать нужный метод -> получить комментарий, используя regexp

это кажется немного сложным, есть ли удобный способ архивировать это?

Ответы [ 4 ]

4 голосов
/ 11 марта 2010

Если вы хотите использовать комментарий в PHP для чего-то, проверьте getDocComment в php's отражающий API

1 голос
/ 01 марта 2015

на самом деле вы можете получить комментарии к документу метода с помощью getDocComment

$ref=new ReflectionMethod('className', 'methodName');

echo $ref->getDocComment();
1 голос
/ 11 марта 2010

PHP Док. Как Java Doc.

0 голосов
/ 07 октября 2015

Для дампа метода я использую эту небольшую функцию, которую я написал. Он извлекает все методы из предоставленного класса, которые являются общедоступными (и, следовательно, полезными для вас).

Я лично использую метод dump () для удобного форматирования выходного массива имен и описаний методов, но это не нужно, если вы хотите использовать его для чего-то другого:

function getDocumentation($inspectclass) {
    /** Get a list of all methods */
    $methods = get_class_methods($inspectclass);
    /** Get the class name */
    $class =get_class($inspectclass);
    $arr = [];
    foreach($methods as $method) {
        $ref=new ReflectionMethod( $class, $method);
        /** No use getting private methods */
        if($ref->isPublic()) {
            $arr[$method] = $ref->getDocComment();
        }
    }
    /** dump is a formatting function I use, feel free to use your own */
    return dump($arr);
}
echo getDocumentation($this);
...