Свойства класса Аннотация - PullRequest
0 голосов
/ 04 ноября 2018

Я хочу прочитать комментарии, определенные в определенном формате, рядом со свойствами класса PHP. например,

Class Test
{
   public $name; //(:Username)
   public $Dob; //(:BirthDate)
}

Я хочу получить похожий вывод, например, массив, который дает мне $name и Username.

Я пытался использовать PHP Reflection Class, но он не работает так, как я хочу:

$reflection = new ReflectionClass('Test');
print_r($reflection->getProperty("name")->getDocComment());

1 Ответ

0 голосов
/ 04 ноября 2018

Если вы хотите, чтобы ваши пользовательские аннотации были доступны для Reflection::getDocComment, вам необходимо отформатировать аннотацию в формате PHPDoc.

Е.Г.

/** :Username */
public $whatever;

Двойная звездочка - это то, что отличает токен T_COMMENT от токена T_DOC_COMMENT.

Первый тип токена удаляется при компиляции кода механизмом, но второй соответствующим образом токенизируется и кэшируется, поэтому он доступен во время выполнения (и, следовательно, для использования с Reflection).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...