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