私はPHPでORMを作成していますが、コメントアノテーションのテーブル、カラム、データベースなどに注釈を付けるのは良い考えです。コメントの注釈を取得するために PHPでコメントのアノテーションを取得すると、コメントが電子メールに届きます
が、私はこのHow to find annotations in a PHP5 object?
してみてくださいしかし、私はいくつかの問題をした、これは、これらが@文字を持っている場合は、注釈されていない一部の電子メール、またはその他のテキストが含まれます。
これは私の関数である:基本的に
public function getAnnotationArrayFromDocComment($docComment) {
$annotationsArray = [];
preg_match_all('#@(.*?)\n#s', $docComment, $annotations);
foreach ($annotations[1] as $annotation) {
$explotedAnnotation = explode(" ", $annotation);
if (isset($explotedAnnotation[1])) $annotationsArray[trim($explotedAnnotation[0])] = trim($explotedAnnotation[1]);
else $annotationsArray[trim($explotedAnnotation[0])] = "";
}
return $annotationsArray;
}
、この機能を、このような構造を持つ配列を返す:
["annotation" => "valueOfAnnotation"]
私は最初の単語だけを得ることを「間違い」のconcientよ私の次のステップはこれを解決することです。
/**
* Created by Someone <[email protected]>
* This class do anything
*
* @package namespace
*/
私はこれをしたい:
ここでの問題は、コメントは@文字といくつかの電子メールアドレス、または他のテキストを持っている場合、これらは、例えば、注釈のような配列に表示され、いくつかのコメントです戻り値:
["package" => "namespace"]
しかし、このリターン:
["example.com>" => "", "package" => "namespace"]
は¿DOのために誰かのアイデアを持っていますこの?
私の英語で間違いがありましたら、私の自然言語ではありません。
これを行うにはPHPDocパーサーを見ましたか? –