Table des matières

Doxygen

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.

Définition d'un bloc de documentation

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.

Mots-clefs

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.

Description

Mise en forme

Configuration

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.

Pour la liste complète des options de configuration, il faut se référer à la documentation officielle.

Commandes

Doxygen est destiné à être utilisé en ligne de commande. La génération de documentation peut donc être automatisée.

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.

Examples de fichiers

Avec les deux fichiers ci-dessous, il est possible de générer une documentation basique.

Configuration

Doxyfile
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

Source

test.php
<?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;
    }
}