This documentation describes how to use Pyrus's public class API to access configuration values. Before reading further, you should be familiar with the documentation on Pyrus's configuration.
Pyrus's configuration is controlled by the pear2\Pyrus\Config class, which is implemented as a multiton mapping Pyrus installation location to a configuration object. In addition, the current configuration (most recently instantiated) is also accessible to create configuration-agnostic functionality.
Configuration variables are accessed by referring to them as class properties. Here is an example requesting the doc_dir configuration variable, and setting the test_dir configuration variable:
<?php
$docdir = pear2\Pyrus\Config::current()->doc_dir;
pear2\Pyrus\Config::current()->test_dir = '/path/to/tests';
?>
The user configuration in use is also accessible from each configuration in the same manner as the installation-specific configuration. Here is an example requesting preferred_state and setting verbose:
<?php
$pref = pear2\Pyrus\Config::current()->preferred_state;
pear2\Pyrus\Config::current()->verbose = 3;
?>
In addition to the configuration variables, Pyrus also defines a few other values that are available, and cannot be used as the names of custom configuration variables:
path - the complete PATH_SEPARATOR separated list of cascading directories this configuration represents.
location - the writable pyrus installation this configuration represents
registry - the registry corresponding to the configuration
pluginregistry - the registry corresponding to the location that plugins are installed
channelregistry - the channel registry corresponding to the configuration
systemvars - an array of names of system configuration variables, built-in and custom
uservars - an array of names of user configuration variables, built-in and custom
channelvars - an array of channel-specific configuration variables, built-in and custom
mainsystemvars - an array of names of built-in system variables
mainuservars - an array of names of built-in user variables
mainchannelvars - an array of names of built-in channel-specific variables
userfile - path to the user configuration file in use by this configuration.
customsystemvars - an array of names of custom system variables
customuservars - an array of names of custom user variables
customchannelvars - an array of names of custom channel-specific variables