指定したクラスに、新しいメソッドを動的に追加する

# classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — 指定したクラスに、新しいメソッドを動的に追加する

### 説明

classkit_method_add ( string `$classname` , string `$methodname` , string `$args` , string `$code` [, int `$flags` = CLASSKIT_ACC_PUBLIC ] ) : bool
警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

### パラメータ

`classname`

  メソッドを追加するクラスの名前。

`methodname`

  追加するメソッドの名前。

`args`

  カンマで区切った、新しいメソッドの引数。

`code`

  `methodname` がコールされた際に 評価されるコード。

`flags`

  作成するメソッドの型。 `CLASSKIT_ACC_PUBLIC`、 `CLASSKIT_ACC_PROTECTED` あるいは `CLASSKIT_ACC_PRIVATE` のいずれか。

  > 注意:

  > このパラメータは PHP 5 以降でのみ使用されます。なぜなら、それ以前の バージョンでは全てのメソッドが public だからです。

### 返り値

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

### 例

例1 classkit_method_add() の例

`<?php
class Example {
function foo() {
echo "foo!\n";
}
}
// Example のオブジェクトを作成
$e = new Example();
// 新しい public メソッドの追加
classkit_method_add(
'Example',
'add',
'$num1, $num2',
'return $num1 + $num2;',
CLASSKIT_ACC_PUBLIC
);
// 12 + 4 を計算する
echo $e->add(12, 4);
?>`

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

    16

### 参考

- classkit_method_copy() - あるクラスのメソッドを別のクラスにコピーする
- classkit_method_redefine() - 指定されたメソッドのコードを動的に変更する
- classkit_method_remove() - 指定したメソッドを動的に削除する
- classkit_method_rename() - 指定したメソッドの名前を動的に変更する
- create_function() - 匿名関数 (ラムダ形式) を作成する