Что означает символ "@" в комментариях?
В PHP я заметил, что люди помещают символ "@" в комментарии к исходному коду. Одним из замечательных примеров является что-нибудь WordPress. Когда вы смотрите на источник, вы видите такие вещи, как
/** Results of the last query made
*
* @since 1.0.0
* @access private
* @var array|null
*/
var $last_result
(wp-db.php, Строка 124)
Он изменяет подсветку синтаксиса в моем редакторе, поэтому я предполагаю, что он что-то делает, но я не уверен, что он делает. Кто-нибудь объяснит, что символ "@" делает в комментариях?
4 answers
Это PHPDoc
комментарии. Они предназначены для машинного анализа для поддержки автоматизированной документации и завершения кода IDE.
Предыдущие ответы верны в том, что символы @ в исходных комментариях являются комментариями PHPDoc. Они могут дополнительно использоваться для чего-то, называемого "аннотацией", которая добавляет метаданные к некоторому элементу кода и может влиять на поведение приложения. Он официально не поддерживается в PHP, но обсуждается уже несколько лет и используется в Symfony, Doctrine и других проектах.
Отличное объяснение с помощью слайд-шоу (без связи со мной) всех вещи PHP и аннотации:
Http://www.slideshare.net/rdohms/annotations-in-php-they-exist
Общее обсуждение предмета аннотации:
Http://en.wikipedia.org/wiki/Annotation
RFC от 2010 года, касающийся реализации аннотаций в PHP:
Такие обозначения служат способом создания анализатора документации из комментариев. Таким образом, первый @ может быть идентифицирован как версия, второй - как аргументы и так далее.
Обычно это делается для автоматического создания документации из файлов исходного кода. В этом случае @_ используются для идентификации метаданных о переменной. Вместо того, чтобы оцениваться по порядку, @var может сообщить анализатору документации, что следующий текст описывает переменную и так далее.