0

コメントで動作するコードを持つ多くのライブラリでこれが使用されているのを見てきました(Doctrine2の例):

<?php
namespace MyProject\Entities;

use Doctrine\ORM\Mapping AS ORM;
use Symfony\Component\Validation\Constraints AS Assert;

/**
 * @ORM\Entity
 * @MyProject\Annotations\Foobarable
 */
class User
{
    /**
     * @ORM\Id @ORM\Column @ORM\GeneratedValue
     * @dummy
     * @var int
     */
    private $id;
}

コメントタグの一部が「名前空間」になっているようです。これは私が気付いていないPHP機能ですか(「use」ステートメントで機能するように見えるため)、またはこれらを使用するライブラリ内のスマートテキスト解析ですか?

私は現在、この「メタデータ」の一部を読み取らなければならない小さなクラスを開発しているので、これが言語に含まれているものであれば本当にきれいなので、醜いテキストパーサーを書く必要はありません。 。

よろしくお願いします。

4

1 に答える 1

1

いいえ、コードを入力するときにIDEのオートコンプリートとヒントのようなIDEを支援する機能です。

docblockの解析を実行する場合は、代わりに、リフレクションクラスを使用して、docblockを解析せずにクラスに関する情報を取得できます(不正確になる可能性があります)。

このチュートリアルを参照してください。

于 2012-09-21T10:26:58.233 に答える