The Registry (Horde_Registry)
This information is valid for Horde 4 and later only. See Doc/Dev/RegistryH3 for Horde 3.
Horde's Registry is the sole method to initialize the Horde environment and is the glue that holds different applications together.
- The Registry is responsible for handling authentication to the Horde framework.
- The Registry system keeps track of Horde's application stack, and which app is currently running.
- When you switch applications, the registry will take care of correctly switching the gettext textdomain, loading the application configuration, and loading the user's application preferences.
- It also lets you determine configuration information about installed applications.
- The Registry lets you generate links to other apps.
- Links will be to the application that provides the functionality.
- Any arguments that the target script needs (headers for an email, for instance) will be filled out of the second argument to link().
- The Registry also lets you invoke methods in other applications
- The registry.php config file defines where to find the code necessary to execute the method, and what application implements it.
- Any application can be integrated this way; all you need to do is map it to the registry interface.
Things the Registry does when being instantiated:
- Importing the global configuration
- Setting up configuration of various framework libraries (via Horde_Injector)
- Setting up the session handler and starting the session (including necessary authentication)
- Setting the language and gettext domain
- Restoring the registry information from cache or loading and parsing the registry configuration from config/registry.php
- Instantiating the global Permission object (TODO: should be removed in favor of Horde_Injector)
Click here for Registry usage examples.
Click here for documentation on how to configure the horde/config/registry.php file.