// 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
<?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');