Forum und email
runkit Functions

CXXXVIII. runkit Functions

Úvod

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.

Informace o instalaci tohoto PECL rozšíření lze najít v kapitole manuálu nazvané Instalace rozšíření PECL. Další informace, jako nové verze, soubory ke stažení, zdrojové soubory, správcovské informace a CHANGELOG, lze najít zde: https://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.

Instalace

Toto rozšíření PECL není přibaleno k PHP.

Informace o instalaci tohoto PECL rozšíření lze najít v kapitole manuálu nazvané Instalace rozšíření PECL. Další informace, jako nové verze, soubory ke stažení, zdrojové soubory, správcovské informace a CHANGELOG, lze najít zde: https://pecl.php.net/package/runkit.

Tuto DLL knihovnu pro rozšíření PECL můžete stahovat ze stránky PHP Downloads nebo z https://snaps.php.net/.

Požadavky

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.

Konfigurace běhu

Chování těchto funkcí je ovlivněno nastavením parametrů v php.ini.

Tabulka 1. Runkit Configuration Options

NameDefaultChangeableChangelog
runkit.superglobal""PHP_INI_PERDIR 
runkit.internal_override"0"PHP_INI_SYSTEM 
Pro další detaily a definice konstant PHP_INI_*, viz dokumentace k ini_set().

Zde je stručný popis konfiguračních direktiv.

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.

Příklad 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();
?>

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

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)

PHP 5 specific flag to runkit_method_add()

RUNKIT_ACC_PROTECTED (integer)

PHP 5 specific flag to runkit_method_add()

RUNKIT_ACC_PRIVATE (integer)

PHP 5 specific flag to runkit_method_add()

CLASSKIT_ACC_PUBLIC (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_ACC_PROTECTED (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_ACC_PRIVATE (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_AGGREGATE_OVERRIDE (integer)

PHP 5 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.

Obsah
Runkit_Sandbox --  Runkit Sandbox Class -- PHP Virtual Machine
Runkit_Sandbox_Parent --  Runkit Anti-Sandbox Class
runkit_class_adopt --  Convert a base class to an inherited class, add ancestral methods when appropriate
runkit_class_emancipate --  Convert an inherited class to a base class, removes any method whose scope is ancestral
runkit_constant_add --  Similar to define(), but allows defining in class definitions as well
runkit_constant_redefine --  Redefine an already defined constant
runkit_constant_remove --  Remove/Delete an already defined constant
runkit_function_add --  Add a new function, similar to create_function()
runkit_function_copy --  Copy a function to a new function name
runkit_function_redefine --  Replace a function definition with a new implementation
runkit_function_remove --  Remove a function definition
runkit_function_rename --  Change a function's name
runkit_import --  Process a PHP file importing function and class definitions, overwriting where appropriate
runkit_lint_file --  Check the PHP syntax of the specified file
runkit_lint --  Check the PHP syntax of the specified php code
runkit_method_add -- Dynamically adds a new method to a given class
runkit_method_copy -- Copies a method from class to another
runkit_method_redefine -- Dynamically changes the code of the given method
runkit_method_remove -- Dynamically removes the given method
runkit_method_rename -- Dynamically changes the name of the given method
runkit_return_value_used -- Determines if the current functions return value will be used
runkit_sandbox_output_handler --  Specify a function to capture and/or process output from a runkit sandbox
runkit_superglobals --  Return numerically indexed array of registered superglobals