2 Stimmen

php-Methodenkommentare abrufen

Ich möchte die Kommentare einer Methode abrufen, nehmen Sie unten Methode zum Beispiel:

/**
* 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)
{
  //...
}

das Ergebnis sollte sein

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

der Weg, den ich finde, ist eine Funktion wie file_get_content verwenden, um Dateiinhalt zu erhalten -> filtern Sie die Methode, die ich will -> holen Sie den Kommentar verwenden regexp

Es scheint etwas kompliziert zu sein, gibt es eine bequeme Möglichkeit, dies zu archivieren?

6voto

Reza Punkte 945

Tatsächlich können Sie die Kommentare einer Methode mit getDocComment abrufen

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

echo $ref->getDocComment();

4voto

rojoca Punkte 10822

Wenn Sie den Kommentar in PHP für etwas verwenden wollen, lesen Sie getDocComment in php's Reflexions-Api

1voto

VDVLeon Punkte 1413

PHP-Doku. Wie Java Doc.

0voto

Tschallacka Punkte 26239

Für einen Methoden-Dump verwende ich diese kleine Funktion, die ich zusammengestellt habe. Sie holt alle Methoden aus der bereitgestellten Klasse, die öffentlich sind (und somit für Sie von Nutzen).

Ich persönlich verwende eine dump()-Methode, um das ausgegebene Array von Methodennamen und -beschreibungen schön zu formatieren, aber das ist nicht nötig, wenn Sie es für etwas anderes verwenden wollen :-)

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);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X