[commits] [Wiki] changed: Doc/Dev/RegistryUsage
Jan Schneider
jan at horde.org
Tue Oct 3 14:41:39 UTC 2017
jan Tue, 03 Oct 2017 14:41:39 +0000
Modified page: https://wiki.horde.org/Doc/Dev/RegistryUsage
New Revision: 6
Change log: Update links
@@ -3,25 +3,25 @@
Horde_Registry is responsible for setting up the Horde environment
and coordinating interaction between Horde, its libraries, and Horde
applications. It must be initialized at the very beginning of any
script that will be using the Horde framework.
The typical use pattern for a script will be as follows.
-The first line of the script should be a {{require_once}} statement
that points to the application's {{lib/Application.php}} file. (All
applications REQUIRE the lib/Application.php file. See the skeleton
module for a stub
[http://git.horde.org/co.php/skeleton/lib/Application.php?rt=horde-git
lib/Application.php] that demonstrates what is required in that file).
Requiring {{lib/Application.php}} will set up the base PHP
environment and setup the proper autoloader paths for Horde libraries.
+The first line of the script should be a {{require_once}} statement
that points to the application's {{lib/Application.php}} file. (All
applications REQUIRE the lib/Application.php file. See the skeleton
module for a stub
[https://github.com/horde/skeleton/blob/master/lib/Application.php
lib/Application.php] that demonstrates what is required in that file).
Requiring {{lib/Application.php}} will set up the base PHP
environment and setup the proper autoloader paths for Horde libraries.
Since your script lives in a known location in the application
layout, and autoloading is not yet setup at this point, the filepath
needed to load {{lib/Application.php}} will be its full pathname. For
example, in an application {{foo}}, for the script {{bar.php}}, the
following is needed:
<code type="php">
require_once dirname(__FILE__) . '/lib/Application.php';
</code>
-At this point, autoloading is available, but the Registry has not yet
been initialized. This is because we may want to configure various
aspects of the Registry prior to loading. To facilitate this
configuration, the static function
[http://dev.horde.org/api/framework/Core/Core/Horde_Registry.html#appInit
Horde_Registry::appInit()] is provided. This function has two
parameters: the application being initialized (REQUIRED) and an array
of configuration options (OPTIONAL). By default, appInit() will
assume the script is being run from the web, that the user must be
authenticated and have the necessary permissions to access the
application, that output compression should be turned on, and that the
session should be opened read-write. For example, to initialize the
application 'foo' with the default arguments, the following is needed:
+At this point, autoloading is available, but the Registry has not yet
been initialized. This is because we may want to configure various
aspects of the Registry prior to loading. To facilitate this
configuration, the static function
[https://dev.horde.org/api/master/lib/Core/class-Horde_Registry.html#_appInit
Horde_Registry::appInit()] is provided. This function has two
parameters: the application being initialized (REQUIRED) and an array
of configuration options (OPTIONAL). By default, appInit() will
assume the script is being run from the web, that the user must be
authenticated and have the necessary permissions to access the
application, that output compression should be turned on, and that the
session should be opened read-write. For example, to initialize the
application 'foo' with the default arguments, the following is needed:
<code type="php">
$appOb = Horde_Registry::appInit('foo');
</code>
On authentication success, $appOb will be set to the
Horde_Registry_Application instance for the current application. On
authentication failure the default action is to redirect the user to
the login page.
-{{Horde_Registry::appInit()}} has several configuration options that
can be used to tweak environment initialization and authentication
error handling. A full list of these configuration options can be
found
[http://dev.horde.org/api/framework/Core/Core/Horde_Registry.html#appInit
here].
+{{Horde_Registry::appInit()}} has several configuration options that
can be used to tweak environment initialization and authentication
error handling. A full list of these configuration options can be
found
[https://dev.horde.org/api/master/lib/Core/class-Horde_Registry.html#_appInit
here].
**Horde_Registry::appInit() should ONLY be called as the first lines
in a script - it is simply a shortcut to bootstrap/initialize the
Horde environment. It should NEVER be used otherwise (e.g. within a
library) to initialize an application.**
Once the Registry has been initialized, all ((Doc/Dev/Globals|Horde
global variables/constants)) are available.
More information about the commits
mailing list