The runkit extension provides means to modify constants,
user-defined functions, and user-defined classes.
It also provides for custom superglobal variables
and embeddable sub-interpreters via sandboxing.
Information for installing this PECL extension may be
found in the manual chapter titled Installation
of PECL extensions. Additional information such as new releases,
downloads, source files, maintainer information, and a CHANGELOG, can be
located here:
http://pecl.php.net/package/runkit.
This package is meant as a feature added replacement for the
classkit package.
When compiled with the --enable-runkit=classkit
option to ./configure, it will export classkit compatible function definitions
and constants.
Modifying Constants, Functions, Classes, and Methods
works with all releases of PHP 4 and PHP 5. No special requirements are
necessary.
Custom Superglobals are only available in PHP 4.2.0 or later.
Sandboxing requires PHP 5.1.0 or later, or
PHP 5.0.0 with a special TSRM patch applied.
Regardless of which version of PHP is in use it must be compiled with the
--enable-maintainer-zts option.
See the README file in the runkit package for additional information.
The behaviour of these functions is affected by settings in php.ini.
Table 1. Runkit Configuration Options
Name | Default | Changeable | Changelog |
---|
runkit.superglobal | "" | PHP_INI_PERDIR | |
runkit.internal_override | "0" | PHP_INI_SYSTEM | |
For further details and definitions of the
PHP_INI_* constants, see the
Appendix G.
Here's a short explanation of
the configuration directives.
- runkit.superglobal
string
Comma-separated list of variable names to be treated as superglobals.
This value should be set in the systemwide php.ini file, but may work
in perdir configuration contexts depending on your SAPI.
Example 1. Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini <?php
function show_values() {
echo "Foo is $_FOO\n";
echo "Bar is $_BAR\n";
echo "Baz is $_BAZ\n";
}
$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';
/* Displays foo and bar, but not baz */
show_values();
?> |
|
The constants below are defined by this extension, and
will only be available when the extension has either
been compiled into PHP or dynamically loaded at runtime.
- RUNKIT_IMPORT_FUNCTIONS
(integer)
runkit_import() flag indicating
that normal functions should be imported from the
specified file.
- RUNKIT_IMPORT_CLASS_METHODS
(integer)
runkit_import() flag indicating
that class methods should be imported from the
specified file.
- RUNKIT_IMPORT_CLASS_CONSTS
(integer)
runkit_import() flag indicating
that class constants should be imported from the
specified file. Note that this flag is only meaningful
in PHP versions 5.1.0 and above.
- RUNKIT_IMPORT_CLASS_PROPS
(integer)
runkit_import() flag indicating
that class standard properties should be imported
from the specified file.
- RUNKIT_IMPORT_CLASSES
(integer)
runkit_import() flag representing
a bitwise OR of the RUNKIT_IMPORT_CLASS_*
constants.
- RUNKIT_IMPORT_OVERRIDE
(integer)
runkit_import() flag indicating that
if any of the imported functions, methods, constants,
or properties already exist, they should be replaced with
the new definitions. If this flag is not set, then any
imported definitions which already exist will be discarded.
- RUNKIT_ACC_PUBLIC
(integer)
PHP5 specific flag to runkit_method_add()
- RUNKIT_ACC_PROTECTED
(integer)
PHP5 specific flag to runkit_method_add()
- RUNKIT_ACC_PRIVATE
(integer)
PHP5 specific flag to runkit_method_add()
- CLASSKIT_ACC_PUBLIC
(integer)
PHP5 specific flag to classkit_method_add()
Only defined when classkit compatibility is enabled.
- CLASSKIT_ACC_PROTECTED
(integer)
PHP5 specific flag to classkit_method_add()
Only defined when classkit compatibility is enabled.
- CLASSKIT_ACC_PRIVATE
(integer)
PHP5 specific flag to classkit_method_add()
Only defined when classkit compatibility is enabled.
- CLASSKIT_AGGREGATE_OVERRIDE
(integer)
PHP5 specific flag to classkit_import()
Only defined when classkit compatibility is enabled.
- RUNKIT_VERSION
(string)
Defined to the current version of the runkit package.
- CLASSKIT_VERSION
(string)
Defined to the current version of the runkit package.
Only defined when classkit compatibility is enabled.