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

# classkit_method_redefine

(no version information, might be only in CVS)

classkit_method_redefine -- Dynamically changes the code of the given method

## 説明

bool classkit_method_redefine ( string classname, string methodname, string args, string code [, int flags])

> 注意: この関数により現在実行中(もしくはチェーンド)のメソッドを走査することはできません。

警告
この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用して下さい。

## パラメータリスト

classname

  The class in which to redefine the method

methodname

  The name of the method to redefine

args

  Comma-delimited list of arguments for the redefined method

code

  The new code to be evaluated when methodname is called

flags

  The redefined method can be `CLASSKIT_ACC_PUBLIC`, `CLASSKIT_ACC_PROTECTED` or `CLASSKIT_ACC_PRIVATE`

  > 注意: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

## 戻り値

成功した場合に `TRUE` 、失敗した場合に `FALSE` を返します。

## 例

例 1. classkit_method_redefine() example

`<?php class Example { function foo() { return "foo!\n"; } } // create an Example object $e = new Example(); // output Example::foo() (before redefine) echo "Before: " . $e->foo(); // Redefine the 'foo' method classkit_method_redefine( 'Example', 'foo', '', 'return "bar!\n";', CLASSKIT_ACC_PUBLIC ); // output Example::foo() (after redefine) echo "After: " . $e->foo(); ?>`

上の例の出力は以下となります:

    Before: foo!
    After: bar!

## 以下も参照下さい

classkit_method_add(), classkit_method_copy(), classkit_method_remove(), そして classkit_method_rename()

前のページ | ホーム | 次のページ
classkit_method_copy | 上に戻る | classkit_method_remove