Ads 468x60px

Perfil

domingo, 28 de abril de 2013

phpDocumentor – organiza tu documentaciĆ³n PHP y expĆ³rtala a HTML

php documentorExisten algunas herramientas que permiten generar documentaciĆ³n de forma automĆ”tica a partir del cĆ³digo fuente. Javadoc es la herramienta estĆ”ndar en Java. Para PHP una de las herramientas mĆ”s utilizadas es phpDocumentor.
La documentaciĆ³n de un proyecto de software es tan importante como su cĆ³digo. Una buena documentaciĆ³n nos facilita en gran medida el mantenimiento futuro de la aplicaciĆ³n. Si ademĆ”s estamos trabajando en equipo es muy Ćŗtil saber lo que hacen las partes que desarrollan otras personas, sobretodo si tenemos que utilizarlas en nuestra parte.
Para ayudarnos existe la aplicaciĆ³n PhpDocumentor, que nos permite generar automĆ”ticamente una buena documentaciĆ³n de nuestro cĆ³digo, de una forma parecida a como lo hace JavaDoc. Mediante comentarios y unas etiquetas especiales podemos definir de forma sencilla que hace cada clase, cada mĆ©todo y cada funciĆ³n de nuestro cĆ³digo.

Los elementos que pueden ser documentados son:
  • define
  • function
  • class
  • class vars
  • include/require/include_once/require_once
  • global variables


AdemĆ”s se puede incluir documentaciĆ³n global a nivel de fichero y clase mediante la marca @package

DocumentaciĆ³n para classes y archivos

Marca Significado
@access Si @access es ‘private’ no se genera documentaciĆ³n para el elemento (a menos que se indique explĆ­citamente). Muy interesante si sĆ³lo se desea generar documentaciĆ³n sobre la interfaz (mĆ©todos pĆŗblicos) pero no sobre la implementaciĆ³n (mĆ©todos privados).
@author Autor del cĆ³digo
@copyright InformaciĆ³n sobre derechos
@deprecated Para indicar que el elemento no deberĆ­a utilizarse, ya que en futuras versiones podrĆ­a no estar disponible.
@example Permite especificar la ruta hasta un fichero con cĆ³digo PHP. phpDocumentor se encarga de mostrar el cĆ³digo resaltado (syntax-highlighted).
@ignore Evita que phpDocumentor documente un determinado elemento.
@internal
inline {@internal}}
Para incluir informaciĆ³n que no deberĆ­a aparecer en la documentaciĆ³n pĆŗblica, pero sĆ­ puede estar disponible como documentaciĆ³n interna para desarrolladores.
@link
inline {@link}
Para incluir un enlace (http://…) a un determinado recurso.
@see Se utiliza para crear enlaces internos (enlaces a la documentaciĆ³n de un elemento).
@since Permite indicar que el elemento estĆ” disponible desde una determinada versiĆ³n del paquete o distribuciĆ³n.
@version VersiĆ³n actual del elemento
Dejo aquĆ­ un ejemplo

DocumentaciĆ³n para funciones y mĆ©todos

Marca Significado
@global Permite especificar el uso de variables globales dentro de la funciĆ³n.
@param ParĆ”metros que recibe la funciĆ³n. Formato:
* @param tipo $nombre_var comentario
@return Valor devuelto por la funciĆ³n. Formato:
* @return tipo comentario
Ejemplo :
Para terminar este post decir que mi IDE favorito PHPDesigner estĆ” perfectamente integrado con PHPDocumentor tanto para documentar como para compilar la documentaciĆ³n. Esta es una de las razones por las que es mi IDE favorito.