Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
programming:php-and-doxygen [2014/07/15 00:50] – Giuseppe Di Terlizzi | programming:php-and-doxygen [2014/07/15 11:07] (current) – Giuseppe Di Terlizzi | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== Commentare |
- | Con questo articolo affronteremo un' | + | Con questo articolo affronteremo un' |
- | Commentare il nostro | + | Avere un codice |
- | Inoltre commentare correttamente il codice ci aiuta anche in fase di coding. Oggigiorno la stragrande maggioranza degli IDE supporta l' | + | ===== Doxygen ===== |
- | Un utilissimo tool che ci aiuta in questa cruciale fase è **Doxygen**. | + | **Doxygen** |
- | ===== Doxygen ===== | + | Grazie all' |
- | **Doxygen** è un applicazione multipiattaforma (Windows, Linux, MacOSX, etc.) che permette di creare documentazione dal codice sorgente (C, C++, Perl, Python, PHP, Java, etc.). | ||
- | Grazie all' | + | ==== Esempio |
- | ==== Un esempio | + | Di seguito un esempio |
<code .php> | <code .php> | ||
<?php | <?php | ||
+ | /** | ||
+ | * Foo Class | ||
+ | * | ||
+ | * Description of foo class | ||
+ | * | ||
+ | * @package | ||
+ | * @author | ||
+ | * @copyright | ||
+ | * @license | ||
+ | */ | ||
class Foo { | class Foo { | ||
Line 49: | Line 57: | ||
} | } | ||
</ | </ | ||
+ | |||
==== Comandi più utilizzati ==== | ==== Comandi più utilizzati ==== | ||
Line 82: | Line 91: | ||
* @see MyClass:: | * @see MyClass:: | ||
| | ||
+ | | '' | ||
+ | * @author | ||
+ | * @copyright | ||
+ | * @license | ||
+ | | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | * @version | ||
+ | * @since | ||
+ | | ||
+ | | '' | ||
+ | |||
+ | |||
+ | ==== Documentiamo ==== | ||
+ | |||
+ | Il successivo passo dopo aver commentato il nostro codice è creare una documentazione. | ||
+ | |||
+ | Prima di tutto creiamo un file di configurazione generico: | ||
+ | |||
+ | $ doxygen -g < | ||
+ | | ||
+ | Successivamente è necessario personalizzare la configurazione appena prodotto in base ai nostri gusti. In particolare dobbiamo specificare il nome del progetto ('' | ||
+ | |||
+ | <div info round center 80%>Per chi non vuole sporcarsi le mani tra le centinaia di opzioni disponibili, | ||
+ | |||
+ | $ doxywizard < | ||
+ | </ | ||
+ | |||
+ | Come ultimo passo lanciamo la generazione della documentazione: | ||
+ | |||
+ | $ doxygen < | ||
+ | |||
+ | | ||
+ | ==== Configurazioni utili per codice in PHP ==== | ||
+ | |||
+ | Per documentare il nostro codice PHP è necessario utilizzare l' | ||
+ | |||
+ | OPTIMIZE_FOR_C = YES | ||
+ | |||
+ | Grazie all' | ||
+ | |||
+ | INPUT_FILTER = php php_var_filter.php | ||
+ | |||
+ | Scarichiamo il file qui sotto e lo copiamo nella stessa directory del file di configurazione di Doxygen: | ||
+ | |||
+ | <file .php php_var_filter.php> | ||
+ | /** | ||
+ | * FIX " | ||
+ | * | ||
+ | * @fixme | ||
+ | * @see http:// | ||
+ | * @see https:// | ||
+ | */ | ||
+ | |||
+ | $source = file_get_contents($argv[1]); | ||
+ | |||
+ | $regexp = '# | ||
+ | $replac = '${2} */ ${3} ${1} ${4}'; | ||
+ | $source = preg_replace($regexp, | ||
+ | |||
+ | echo $source; | ||
+ | </ | ||
+ | |||
+ | Come output consiglio l'HTML in quanto permette la navigazione ipertestuale oltre alla possibilità di utilizzare il motore di ricerca interno per ricercare una funzione o metodo specifico. | ||
+ | |||
+ | GENERATE_HTML = YES | ||
- | ===== Maggiori | + | ===== Per maggiori |
* Doxygen - http:// | * Doxygen - http:// | ||
* Graphviz - http:// | * Graphviz - http:// | ||
{{tag> | {{tag> |