Classes, interfaces and traits

Loader

Loads the template and user-defined configuration file from disk and creates a Configuration object from it.

This class will merge the template file and the user-defined configuration file together and serialize it into a configuration object (defaults to phpDocumentor\Configuration).

« More »

Logging

Configuration definition for the logger.

« More »

Merger

Deep-merges any variable.

This class is capable of merging together arrays and objects of the same class; all other types of variables are replaced. In addition this merger also supports the Replace annotation; this annotation can be placed on a property of a class and will indicate that that property must not be merged but replaced in its entirety.

« More »

ServiceProvider

Provides a series of services in order to handle the configuration for phpDocumentor.

This class is responsible for registering a 'Merger' service that is used to combine several configuration definitions into one and will add a new option config to all commands of phpDocumentor.

Exposed services:

  • 'config', the configuration service containing all options and parameters for phpDocumentor.
  • 'config.merger', a service used to combine the configuration template with the user configuration file (phpdoc.xml of phpdoc.dist.xml).

The following variables are exposed:

  • 'config.path.template', the location of the configuration template with defaults.
  • 'config.path.user', the location of the user configuration file that will be merged with the template.
  • 'config.class', the class name of the root configuration object.
« More »

Classes, interfaces and traits

Replace

Declares that, when merging objects, the property with this annotation should be replaced and not merged with the property of the same name in the secondary object.

Normal behaviour for the Merger is to merge two properties with the same name if they contain an array of items. When this annotation is used on a property then this behavior is altered and the associated property is always replaced with the newer version.

« More »