Podręcznik PHP
Poprzedni |  | Następny

# CXXXVII. runkit Functions

# Wstęp

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.

Informacje na temat instalacji tego rozszerzenia PECL można znaleźć w podręczniku w rozdziale zatytułowanym Instalacja rozszerzeń PECL. Dodatkowe informacje, takie jak nowe wersje, pliki do pobrania, pliki źródłowe, informacje o opiekunach czy rejestr zmian, można znaleźć tutaj: 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.

# Instalacja

To rozszerzenie PECL nie jest dołączane do PHP.

Informacje na temat instalacji tego rozszerzenia PECL można znaleźć w podręczniku w rozdziale zatytułowanym Instalacja rozszerzeń PECL. Dodatkowe informacje, takie jak nowe wersje, pliki do pobrania, pliki źródłowe, informacje o opiekunach czy rejestr zmian, można znaleźć tutaj: http://pecl.php.net/package/runkit.

DLL z tym rozszerzeniem PECL można pobrać ze strony PHP Downloads lub http://snaps.php.net/.

# Wymagania

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.

# Konfiguracja uruchomieniowa

Na działanie tych funcji wpływają ustawienia zawarte w pliku `php.ini`.

Tabela 1. Runkit Configuration Options

Name | Default | Changeable | Changelog
--- | --- | --- | ---
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |

Szczegóły i definicje dotyczące stałych PHP_INI_* znajdują się w rozdziale Dodatek G.

Oto krótkie wyjaśnienie dyrektyw konfiguracji.

`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.

  Przykład 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(); ?>`

# Stałe predefiniowane

Poniższe stałe są zdefiniowane w tym rozszerzeniu i stają się dostępne, gdy rozszerzenie jest dokompilowane do PHP, lub załadowane dynamicznie przy starcie.

`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.

Poprzedni | Spis treści | Następny
rpm_version | Początek rozdziału | Runkit_Sandbox