C'est un générateur de documentation capable de produire une documentation logicielle à partir du code source d'un programme. Pour cela, il tient compte de la grammaire du language dans lequel est écrit le code source, ainsi que des commentaires.
Le contenu de cette page est valable dans le cadre de la documentation d'un projet en PHP. Pour plus de renseignements, il faut se référer à la documentation officielle.
Il y a plusieurs moyen de définir un bloc de documentation. Le plus simple à utiliser avec Netbeans est le JavaDoc :
/**
*
*/
En effet, il est reconnu par défaut et récupère automatiquement paramètres, valeur de retour et exceptions.
Dans la description des commandes décrites, les valeurs entre “<>” sont obligatoires, celles entre “{}” sont optionnelles.
Doxygen reconnait deux syntaxes différentes pour les commandes, celle avec le @ et celle avec le \. Les listes suivantes contiennent un mélange des deux syntaxes car certaines commande commençant par @ sont interprétées par PHPUnit.
Pour la liste complète des mots-clefs, il faut se référer à la documentation officielle.
@author {description}
: définition de l'auteur.\bug {description}
: définition des bugs présents dans l'entité.@deprecated {description}
: indication que l'entité est obsolète.@exception <objet> {description}
: définition d'une exception qui peut être générée par l'entité.@param <type> <nom> {description}
: définition d'un ou de plusieurs paramètres de l'entité.@return {description}
: définition de la valeur de retour de l'entité.@see {description}
: définition de références pour l'entité.@since {description}
: définition de l'apparition de l'entité. Ça peut être une date, un numéro de version ou tout autre moyen de définir le moment d'apparition de l'entité.\test {description}
: définition des cas de tests de l'entité.@todo {description}
: définition de tâches à faire pour améliorer l'entité.\a {mot}
: met le mot qui suit en italique.\b {mot}
: met le mot qui suit en gras.\c {mot}
: met le mot qui suit dans une police de type machine à écrire.\li {description}
: permet de générer une liste de valeurs.\n
: force l'insertion d'une nouvelle ligne.\verbatim
: commence un bloc qui affiche le texte tel quel. Les fonctions sont désactivées dans un tel bloc. Le bloc doit se terminer impérativement par \endverbatim
.La configuration se fait dans un fichier ini. Il peut être utilisé en ligne de commande ou par l'outil Doxywizard. Il peut être généré manuellement, en ligne de commande ou par l'outil Doxywizard.
YES
.YES
. Si la valeur est NO
, il faut utiliser la commande \brief
.YES
.YES
. La documentation est automatiquement liée au code et inversement.Pour la liste complète des options de configuration, il faut se référer à la documentation officielle.
Doxygen est destiné à être utilisé en ligne de commande. La génération de documentation peut donc être automatisée.
doxygen -h
: affiche la page de manuel.doxygen [-v] -g [fichier]
: génère un modèle de fichier de configuration.doxygen [-v] -u [fichier]
: met à jour un fichier de configuration d'une ancienne version.doxygen [fichier]
: génère la documentation en suivant les règles du fichier de configuration.
Le nom du fichier de configuration peut être omis. Le nom par défaut est Doxyfile.
Le drapeau v
indique de ne pas générer de commentaire dans le fichier de configuration.
Avec les deux fichiers ci-dessous, il est possible de générer une documentation basique.
PROJECT_NAME = "My really special project" PROJECT_BRIEF = "So special" OUTPUT_DIRECTORY = C:/Test REPEAT_BRIEF = NO STRIP_FROM_PATH = C:/Test JAVADOC_AUTOBRIEF = YES INPUT = C:/Test RECURSIVE = NO SOURCE_BROWSER = YES CLASS_DIAGRAMS = NO
<?php /** * The Test class do something. * The Test class do something really nice but I wont tell :). * * @author Me, Myself and I * @since version 1.0.0 * @todo Replace test method by something better. */ class Test { /** * The test method do something. * The test method do something really nice but I wont tell :). * * @param string $param1 the first parameter. * @param integer $param2 the second parameter. * @return a string wich is a concatenation of the inputs * * @author Me, Myself and I * @since version 1.0.0 * @deprecated since version 2.0.0 */ public function test($param1, $param2) { $something = $param1 . $param2; return $something; } }