PHP マニュアル
前のページ |  | 次のページ

# CXXIX. runkit 関数

# 導入

runkit 拡張モジュールは、定数・ユーザ定義関数 およびユーザ定義クラスを変更する機能を提供します。 また、独自のスーパーグローバル変数を定義したり、 サンドボックスを利用した組み込みインタプリタの作成も可能です。

新規リリース・ダウンロード・ソースファイル・管理者情報・ CHANGELOG といった関連する情報については、次の場所にあります。 http://pecl.php.net/package/runkit.

このパッケージには、 classkit パッケージに 取って代わるための機能も含まれています。 ./configure に --enable-runkit=classkit オプションを つけてコンパイルすると、classkit と互換性のある関数や定数を提供します。

# 要件

定数・関数・クラス・メソッドの変更機能 は、PHP 4 と PHP 5 の全てのリリースで動作します。特別な動作条件はありません。

独自のスーパーグローバル変数 は PHP 4.2.0 以降で使用可能です。

サンドボックスのサポート は、PHP 5.1.0 以降か あるいは TSRM パッチを適用した PHP 5.0.0 が必要です。 どのバージョンの PHP を使用しているかにかかわらず、コンパイル時に --enable-maintainer-zts オプションが必要です。 詳しい情報は、runkit パッケージに含まれる README ファイルを参照ください。

# 実行時設定

`php.ini` の設定により動作が変化します。

表 1. Runkit 設定オプション

名前 | デフォルト | 変更の可否 | 変更履歴
--- | --- | --- | ---
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |

PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

runkit.superglobal string

  スーパーグローバルとして扱いたい変数名の、カンマ区切りのリストです。 これはシステム全体で利用する php.ini ファイルで指定すべきですが、SAPI の設定によってはディレクトリローカルで指定しても動作するかもしれません。

  例 1. php.ini で runkit.superglobal=_FOO,_BAR と指定した場合のスーパーグローバル

  `<?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'; /* foo と bar が表示されるが、baz は表示されない */ show_values(); ?>`

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`RUNKIT_IMPORT_FUNCTIONS` (integer)

  runkit_import() のフラグで、 指定したファイルから通常の関数が読み込まれることを示します。

`RUNKIT_IMPORT_CLASS_METHODS` (integer)

  runkit_import() のフラグで、 指定したファイルからクラスメソッドが読み込まれることを示します。

`RUNKIT_IMPORT_CLASS_CONSTS` (integer)

  runkit_import() のフラグで、 指定したファイルからクラス定数が読み込まれることを示します。 このフラグは PHP のバージョン 5.1.0 以降でしか意味を持たないことに 注意しましょう。

`RUNKIT_IMPORT_CLASS_PROPS` (integer)

  runkit_import() のフラグで、 指定したファイルからクラスのプロパティが読み込まれることを示します。

`RUNKIT_IMPORT_CLASSES` (integer)

  runkit_import() のフラグで、 `RUNKIT_IMPORT_CLASS_*` の論理和（ビット OR）を表します。

`RUNKIT_IMPORT_OVERRIDE` (integer)

  runkit_import() のフラグで、 すでに存在する関数・メソッド・定数 あるいはプロパティが指定された場合に新しい定義で置き換えることを 示します。このフラグが設定されていない場合、すでに定義されている 内容については新しい定義は無視されます。

`RUNKIT_ACC_PUBLIC` (integer)

  runkit_method_add() の PHP5 限定のフラグです。

`RUNKIT_ACC_PROTECTED` (integer)

  runkit_method_add() の PHP5 限定のフラグです。

`RUNKIT_ACC_PRIVATE` (integer)

  runkit_method_add() の PHP5 限定のフラグです。

`CLASSKIT_ACC_PUBLIC` (integer)

  runkit_method_add() の PHP5 限定のフラグです。 classkit 互換モードが有効になっている場合にのみ定義されます。

`CLASSKIT_ACC_PROTECTED` (integer)

  runkit_method_add() の PHP5 限定のフラグです。 classkit 互換モードが有効になっている場合にのみ定義されます。

`CLASSKIT_ACC_PRIVATE` (integer)

  runkit_method_add() の PHP5 限定のフラグです。 classkit 互換モードが有効になっている場合にのみ定義されます。

`CLASSKIT_AGGREGATE_OVERRIDE` (integer)

  classkit_import() の PHP5 限定のフラグです。 classkit 互換モードが有効になっている場合にのみ定義されます。

`RUNKIT_VERSION` (string)

  runkit パッケージのバージョンを定義します。

`CLASSKIT_VERSION` (string)

  runkit パッケージのバージョンを定義します。 classkit 互換モードが有効になっている場合にのみ定義されます。

前のページ | ホーム | 次のページ
rpm_version | 上に戻る | Runkit_Sandbox