2012-03-29 36 views
9

En PHP, he notado que las personas ponen el símbolo "@" en los comentarios del código fuente. Un gran ejemplo es cualquier cosa WordPress. Cuando nos fijamos en la fuente, se ven las cosas como¿Para qué es el símbolo "@" en Comentarios?

/** Results of the last query made 
* 
* @since 1.0.0 
* @access private 
* @var array|null 
*/ 
var $last_result 

(wp-db.php, Línea 124)

Cambia el resaltado de sintaxis en mi editor, así que estoy suponiendo que hace algo, pero No estoy seguro de lo que hace. ¿Alguien explicaría qué hace el símbolo "@" en los comentarios?

Respuesta

7

Estos son PHPDoc comentarios. Están pensados ​​para ser corregidos por máquina para admitir la documentación automatizada y la finalización del código IDE.

0

Dichas anotaciones sirven para crear un analizador de documentación sin comentarios. Entonces, el primer @ podría identificarse como la versión, el segundo como los argumentos, etc.

0

Esto se suele hacer para generar automáticamente la documentación a partir de los archivos de código fuente. En este caso, el @_ se usa para identificar metadatos sobre la variable. En lugar de ser evaluado en orden, @var puede decirle al analizador de documentación que el siguiente texto describe la variable, y así sucesivamente.

3

Las respuestas anteriores son correctas al afirmar que los símbolos @ en los comentarios de origen son comentarios PHPDoc. También se pueden usar para algo llamado "anotación" que agrega metadatos a algún elemento de código y puede afectar el comportamiento de una aplicación. No es oficialmente compatible con PHP, pero ha estado en discusión durante varios años y está en uso en Symfony, Doctrine y otros proyectos.

una excelente explicación a través de diapositivas (no está afiliada a mí) de todas las cosas PHP y anotación:

http://www.slideshare.net/rdohms/annotations-in-php-they-exist

Una discusión genérica del objeto de anotación:

http://en.wikipedia.org/wiki/Annotation

Un RFC de 2010 con respecto a la implementación de anotaciones en PHP:

http://wiki.php.net/rfc/annotations

Cuestiones relacionadas