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
- void XMLClassDoc::setXML - Initialise le document XML
- void XMLClassDoc::setStyleSheet - Initialise la Feuille de style
- void XMLClassDoc::setlongdescFile - Chargement fichier longdesc
- void XMLClassDoc::setParseParent - setParseParent
- void XMLClassDoc::parseOnlyPublic - parseOnlyPublic
- void XMLClassDoc::toXMLFile - Générateur de fichier
- string XMLClassDoc::toXMLStr - Générateur de Chaine
- void XMLClassDoc::__construct - Constructeur
Exemples
Utilisation pour un fichier pour CSP
include("classes/XMLClassDoc.php");
try {
// Nouvelle instance
$doc = new XMLClassDoc('XMLClassDoc');
// Récup de la description détaillée
$doc -> setlongdescFile("XMLClassDoc.txt");
// Création du fichier XMLClassDoc.xml
$doc->toXMLFile('','CSP');
}
catch(ReflectionException $e) {
echo $e;
}
?>