PHP_UML est un parser de code PHP, un générateur de code XMI, et un outil de production de documentation.
Concrètement, grâce à PHP_UML, vous pourrez importer dans un atelier de génie logiciel (comme Rationale Rose™ ou ArgoUml), une représentation UML d’une application PHP existante. Vous obtiendrez ainsi une vue d’ensemble du code, avec toutes les fonctions habituelles de votre AGL préféré.

PHP_UML peut :

  • générer des fichiers UML/XMI en version 1.4 et 2.1
  • générer une documentation d’API au format XHTML (très proche de Javadoc)
  • générer du code PHP (squelettes de programmes) à partir d’un fichier XMI donné

PHP_UML :

  • interprète le code orienté objet de PHP 4 et 5 (classes, interfaces, fonctions, propriétés…)
  • interprète les instructions PHP d’espaces de noms (namespace and use)
  • parse les commentaires “docblock” : classe (@package), fonction (@param, @return), propriété (@var) et entête de fichier (@package)
  • détecte les types employés (en analysant les type hints, ainsi que les valeurs par défaut)

PHP_UML génère une vue logique (les paquetages et classes trouvées), une vue de déploiement (correspondant au système de fichiers parsé), et une vue de composant (sur la base d’un composant par paquetage trouvé).

Exemple d’utilisation
PHP_UML est actuellement utilisé pour générer la documentation d’API de Typo3 : http://flow3.typo3.org/fileadmin/API/FLOW3/