runkit_method_copy
(PECL runkit >= 0.7.0)
runkit_method_copy — あるクラスのメソッドを別のクラスにコピーする
説明
bool runkit_method_copy
( string
$dClass
, string $dMethod
, string $sClass
[, string $sMethod
] )警告
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。
パラメータ
-
dClass -
メソッドのコピー先のクラス。
-
dMethod -
コピー先のメソッド名。
-
sClass -
メソッドのコピー元のクラス。
-
sMethod -
元のクラスからコピーするメソッドの名前。指定されなかった場合は
dMethodと同じであるとみなされます。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例1 runkit_method_copy() の例
<?php
class Foo {
function example() {
return "foo!\n";
}
}
class Bar {
// 最初は、何もメソッドがない
}
// Foo クラスの example() メソッドを Bar クラスに baz() という名前でコピーする
runkit_method_copy('Bar', 'baz', 'Foo', 'example');
// コピーされた関数の出力
echo Bar::baz();
?>
上の例の出力は以下となります。
foo!
参考
- runkit_method_add() - 指定したクラスに、新しいメソッドを動的に追加する
- runkit_method_redefine() - 指定されたメソッドのコードを動的に変更する
- runkit_method_remove() - 指定したメソッドを動的に削除する
- runkit_method_rename() - 指定したメソッドの名前を動的に変更する
- runkit_function_copy() - 関数を別の名前でコピーする