Logo classes.scriptsphp.org PHP

go to nav bar

Générateur de doc XML pour classes

Créé la documentation d'une classe au format XML.

XMLClassDoc permet de générer de la documentation XML pour des classes PHP5.

Elle utilise l'API de réflection présentée dans cet article ainsi que l'extension xmlWriter décrite dans cet autre article.

le format de sortie est parametrable et permet soit de générer une doc complète soit un document conforme à la DTD de la documentation des classes utilisé ici même.

Il est possible de choisir l'encodage du fichier de sortie et d'ajouter une ou plusieurs feuilles de style.
Une méthode permet de forcer ou d'empècher l'annalyse des classes parentes et une autre permet de choisir de ne parser que les membres publics.
Enfin on peux importer la description détaillée de la classe depuis un fichier texte.

Pour que la documentation soit générée correctement, les codes sources des classes doivent être parfaitement commentés en utilisant les tags bien connus de phpDocumentor.
Soit :
/**
* @tag xxxx
*/

Ci-dessous la liste des tags reconnus :

  • @author
  • @category
  • @copyright
  • @deprecated
  • @desc
  • @example
  • @filesource
  • @license
  • @link
  • @name
  • @package
  • @param
  • @return
  • @see
  • @since
  • @subpackage
  • @todo
  • @tutorial
  • @var
  • @version

Lors d'une génération pour une utilisation ici, les tags manquants seront signalés.

Bien que le générateur accepte aussi bien les sources encodés en UTF-8 ou ISO-8859-1 il est préférable pour CSP d'utiliser ISO-8859-1.

Les Méthodes

Exemples

  1. Utilisation pour afficher la doc complète
  2. Utilisation pour un fichier pour CSP

Utilisation pour afficher la doc complète

<?php
include("classes/XMLClassDoc.php");
header ('content-type: text/xml');

try {
    
// Nouvelle instance
    
$doc = new XMLClassDoc('XMLClassDoc');
    
// Initialisation version + encodage
    
$doc -> setXML('1.0''UTF-8');
    
// Ajout d'une feuille de style
    
$doc -> setStyleSheet('text/CSS''style.css');
    
// On ne documente pas les classes parentes
    
$doc -> setParseParent(false);
    
// On documente tous les membres
    
$doc -> parseOnlyPublic(false);
    
//on créé le doc
    
$display $doc->toXMLStr('ALL');
}
catch(
ReflectionException $e) {
    
$display $e;
}
echo 
$display;
?>

Merci de ne pas suivre ce lien emails.

0.0730s | «»
PHP powered