Home » PHP » PHP_UML
A reverse-engineering package that scans PHP files and directories, and delivers an UML/XMI representation of the classes and packages found.
This package is unmaintained.
Download latest release 1.6.2 (archived versions might be outdated)
License: LGPL
Description
PHP_UML is a PHP parser, an XMI generator and a documentation tool.
Practically, with PHP_UML, you will be able to feed a UML CASE tool, like Rational Rose or Argouml, with a UML representation of existing PHP source code. This way, you get an instant overview of a PHP application, with all the usual functions of a software design tool (such as class diagrams exportation, refactoring of object-oriented applications, or automatic code generation).
PHP_UML:
- Can generate UML/XMI files in version 1.4, or in version 2.1 (logical, component, and deployment views)
- Can generate an API documentation in HTML format
- Can generate PHP code (code skeleton) from a given XMI file
- Can convert UML/XMI content from version 1.4 to version 2.1
PHP_UML:
- Parses object-oriented PHP code, in all versions (classes, interfaces, functions, properties...)
- From version 1.5, PHP_UML can also parse procedural code (functions and constants). See the "htmlnew" exportation format
- Interprets the PHP namespacing instructions (namespace and use)
- Parses comment docblocks: class (@package), function (@param, @return), property (@var) and header file comments (@package)
- Detects types (by parsing the type hints, and by analyzing the default values)
Documentation
Maintainers
- Baptiste Autin (Baptiste) — lead, active
Dependencies
Required
- PHP (>= 5)
- PEAR Installer (>= 1.4.0)
- Console_CommandLine
- SPL (extension)
- XSL (extension)
Releases
- 1.6.2 (stable, 2015-02-15)
Release notes
License: LGPL
* fixed bug in the folder tree traversal
* removed a useless html header in 'htmlnew' export causing a bug with recent xsltproc impl - 1.6.1 (stable, 2012-05-12)
Release notes
License: LGPL
* fixed API declaration fatal error (PHP_UML_Input_PHP_ParserImpl::__construct())
* added missing space in function parameters generated by HtmlNew - 1.6.0 (stable, 2011-09-24)
Release notes
License: LGPL
* API refactoring (introduction of Importer and Exporter classes)
* XMI is now a "full" input format, just like PHP
* various bugfixes (namespaces in PHP class generation, for eg) - 1.5.5 (stable, 2011-02-25)
Release notes
License: LGPL
* Bugfix (install script)
- 1.5.4 (stable, 2011-02-25)
Release notes
License: LGPL
* Bugfix (install script)
- 1.5.3 (stable, 2010-10-13)
Release notes
License: LGPL
* Fixed 3 bugs (with the instruction "use" in particular)
- 1.5.2 (stable, 2010-03-19)
Release notes
License: LGPL
* Bug fix release that prevents crashes when parsing incorrect PHP class names
- 1.5.1 (stable, 2010-01-10)
Release notes
License: LGPL
* Bug fix release about anonymous functions / closures
* Fixed a bug in package.xml - 1.5.0 (stable, 2009-12-15)
Release notes
License: LGPL
* Added a new exportation format ("htmlnew") for a better browsing experience.
* PHP_UML can now parse procedural code (functions and constantes). The "htmlnew" format benefits from this new capability, which makes PHP_UML closer to a tool like PHPDocumentor
* Fixed a bug with quotes
* Major refactoring of the API. PHP_UML is now structured in 3 main packages: "Input" contains the classes that are used to build an UML model (Parser for ex), "Output" contain the classes that can serialize/export an UML model into something else, and "Metamdodel" contains all the metaclasses that the model is made of. - 1.0.1 (stable, 2009-08-27)
Release notes
License: LGPL
* bug fixes (curlies inside string constants, setMatchPatterns and setIgnorePatterns)
- 1.0.0 (stable, 2009-07-22)
Release notes
License: LGPL
* setIgnorePatterns() now accepts pathnames, not only simple filenames
* API elements (classes, functions, properties) whose docblocks contain @internal are skipped, unless otherwise stated (thanks to Karsten Dambekalns)
* When the mode "onlyAPI" is on (by default, it is off), only the elements whose docblocks contain @api are included in the final API (thanks to Karsten Dambekalns)
* Console_CommandLine is now a required dependency - 0.5.3 (beta, 2009-06-11)
Release notes
License: LGPL
* Fixes 2 strict warnings (static call to non-static method, assign by reference)
- 0.5.2 (alpha, 2009-01-31)
Release notes
License: LGPL
* Can now convert UML/XMI data written in version 1.4 to version 2.1 (ad hoc conversion). This allows the PHP code generation to work directly on a XMI file in version 1.x
- 0.5.1 (alpha, 2009-01-08)
Release notes
License: LGPL
* Brand new parser, faster and more reliable
* Console command line
* Two additional exportation formats available:
- HTML API documentation (like Javadoc)
- PHP code skeletons
* Full namespace support (the "namespace" and "use" instructions). Works only from PHP 5.3
* Namespace comments support
* acceptedExtension and ignoredDirectories properties deprecated, in favour of setMatchPatterns() and setIgnorePatterns() (accept wildcards) - 0.5.0 (beta, 2009-01-04)
- 0.4.4 (beta, 2008-06-12)
Release notes
License: LGPL
Initial release
- 0.4.2 (beta, 2008-05-22)
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #15523 | Closed | Bug | 0.5.0 | 2009-01-06 | <?php instead of <? |
| #15524 | Closed | Bug | 0.5.0 | 2009-01-06 | no php code generation tool |
| #15525 | Closed | Bug | 0.5.0 | 2009-01-06 | phpuml.bat installed on unix system |
| #15577 | Closed | Bug | 0.5.1 | 2009-01-09 | version not set |
| #16265 | Closed | Req | CVS | 2009-05-26 | Add options to skip @internal and ignore @package/@subpackage |
| #16284 | Closed | Bug | 0.5.2 | 2009-06-04 | E_STRICT: Non-static PHP_UML_PHP_Parser::getCurrentPackage() called statically |
| #16409 | Closed | Bug | 0.5.3 | 2009-07-06 | Dependency Console_CommandLine Not Installed |
| #16549 | Closed | Bug | 1.0.0 | 2009-08-27 | Local variables get added to field summary/detail |
| #16735 | Closed | Req | CVS | 2009-10-24 | Packages with no class inside should not be shown in overview pane. |
| #16924 | Closed | Bug | 1.5.0 | 2009-12-18 | Fatal error.... |
| #17247 | Closed | Bug | 1.5.1 | 2010-03-19 | Catchable fatal error |
| #17433 | Bogus | Bug | 1.5.2 | 2010-05-25 | Method arguments names imported with dollar sign |
| #17434 | Closed | Req | 1.5.2 | 2010-05-25 | Ignore hidden folders when generating XMI file by default |
| #17884 | Closed | Bug | 1.5.2 | 2010-09-22 | bug while parsing T_USE |
| #17885 | Closed | Bug | 1.5.2 | 2010-09-22 | :$currentQn is not reseted |
| #17886 | No Feedback | Bug | 1.5.2 | 2010-09-22 | Unknown types are considered as "mixed" |
| #17936 | Closed | Bug | 1.5.2 | 2010-10-07 | Notice: Undefined variable: errorLevel |
| #18021 | Closed | Bug | 1.5.3 | 2010-11-01 | Path to php interpreter is hardcoded |
| #18022 | Closed | Bug | 1.5.3 | 2010-11-01 | Path to phpuml.xml is hardcoded |
| #18525 | Closed | Bug | 1.5.5 | 2011-05-11 | Package cannot be installed through WAMP and PEAR on Windows XP |
| #18629 | Closed | Bug | 1.5.5 | 2011-06-27 | UML->read/saveXMI are deprecated and UML->xmiExporter private |
| #18674 | Closed | Bug | 1.5.5 | 2011-07-20 | Use of htmlentities instead of htmlspecialchars |
| #20046 | Closed | Bug | 2013-08-21 | Generated xmi files are not readable by viewers | |
| #20152 | Duplicate | Bug | 1.6.1 | 2013-12-20 | Increase ID entropy |
| #20153 | Duplicate | Bug | 1.6.1 | 2013-12-20 | Increase ID entropy |
| #20235 | Open | Req | SVN | 2014-04-07 | Move to Github? |
| #20288 | Bogus | Bug | 1.6.1 | 2014-05-30 | Can't import XMI into ArgoUML |
| #20289 | Duplicate | Bug | 1.6.1 | 2014-05-30 | Can't import XMI into ArgoUML |
| #20442 | Closed | Bug | 1.6.1 | 2014-11-20 | Fatal Error: Cannot find XML definition file when |
| #21024 | Open | Bug | 1.6.2 | 2016-02-02 | XML Schema Definition outdated? |