Exemple #1
0
// We don't want a component view to be included
$t->deploymentView = false;
// We don't want a deployment view (artifacts+folders)
$t->docblocks = true;
// We want the parser to look into the class/file comments
$t->setInput('test1.php.txt, test2.php.txt');
// We want only "test1.php.txt" and "test2.php.txt"
$t->parse('testModel');
// The files are parsed, and a UML model named "testModel" is built
// we retrieve an XMI implementation of an Exporter object, and set the model:
$e = new PHP_UML_Output_Xmi_Exporter();
$e->setModel($t->getModel());
// we set the XMI version (2.1 being the default if not set)
$e->setXmiVersion(1);
// we set the encoding (iso-8859-1 being the default if not set):
$e->setEncoding('UTF-8');
// and we export XMI to a file:
$e->export('test_example2.xmi');
// we can also print the serialized XMI by retrieving an XmiDocument from the exporter object:
echo htmlentities($e->getXmiDocument()->dump());
/**
 * Example 3 : Example with a whole directory of PHP files to parse. We just want to
 * generate the API documentation in HTML.
 */
$t = new PHP_UML();
$t->setMatchPatterns(array('*.php', '*.txt'));
// We want to parse every file with an extension "php" or "txt"
$t->setIgnorePatterns('.svn');
// We want all directories to be scanned, except the ".svn"
$t->setInput('./');
// ... in the current directory
Exemple #2
0
<?php

require_once 'PHP/UML.php';
$importer = new PHP_UML_Input_PHP_FileScanner();
$importer->setDirectories(array('./app/models', './app/controllers', './app/repositories', './app/repositories/interfaces'));
$importer->import();
$exporter = new PHP_UML_Output_Xmi_Exporter();
$exporter->setModel($importer->getModel());
$exporter->setXmiVersion(1);
$exporter->setEncoding('utf-8');
$exporter->setDeploymentView(true);
$exporter->setComponentView(true);
$exporter->export('./uml');