How this API document is organized


The menu in the left panel provides a treeview of all packages, classes and interfaces. It also contains the procedural functions and global constants (defined with the define keyword). Click on a item to display its detailed page in the right panel.


Each package has a page that contains a list of its classes, interfaces, with a summary for each.

Even if packages don't exist by themselves in PHP, PHP_UML reconstitutes them using the PHP namespaces (from PHP 5.3), or by using the docblock @package (if the source code has some).
The top package is showed like a UML Model, and matches the "global namespace" of PHP.

From version 1.5, PHP_UML can display non strictly object-oriented elements, like procedural functions and global constants. The former appear under "Functions" and the latter under "Properties", inside the Package page that matches the namespace that these elements belong to.


Each class and interface has its own separate page. Each of these pages starts with a description block.

The description block displays the content of the comment just preceding the class/interface definition in the source code, followed by a list of the docblocks, as well the source file name.
It also lists : all inherited classes, all subclasses, all known subinterfaces, and all known implementing classes.

Then the following elements appear:

Click on a function/property title to expand it down, and see more detailed information about it (comment, docblocks).

All elements are in the order they appear in the source code.


The Index contains an alphabetic list of all classes, interfaces, functions, properties and constants.


These links take you to the next or previous class, interface, package, or related page.

Expand/Collapse all

In a class/interface/package page, click on "Expand all" to expand the detailed information about all members (functions, properties...). The state of the button "Expand all / Collapse all" is preserved between page requests (unless you have cookies disabled in your browser).

PHP and types

Even though PHP is not a strong typed language, PHP_UML relies on a set of predefined types (integer, float, string, mixed, etc.) and tries to use them as much as it can guess. When it had not been able to resolve a type/class/interface (for example, a class implements an interface whose source code had not been provided), the type is displayed, but is not clickable.

PHP_UML is also aware of a couple of internal PHP classifiers, such as Exception or Iterator.