classkit_method_redefineとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > classkit_method_redefineの意味・解説 

classkit_method_redefine

(PECL)
classkit_method_redefine — 指定されたメソッドのコードを動的に変更する

説明

bool classkit_method_redefine ( string classname, string methodname, string args, string code [, int flags] )
注意: この関数により現在実行中 (もしくはチェーンド)のメソッドを操作することはできません。

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

パラメータ

classname
メソッドを再定義するクラス。
methodname
再定義するメソッドの名前。
args
カンマで区切られた、再定義後のメソッドの引数。
code
methodname がコールされた際に 評価される、新しいコード。
flags
再定義するメソッドの型。 CLASSKIT_ACC_PUBLICCLASSKIT_ACC_PROTECTED あるいは CLASSKIT_ACC_PRIVATE のいずれか。
注意: このパラメータは PHP 5 以降でのみ使用されます。なぜなら、それ以前の バージョンでは全てのメソッドが public だからです。

返り値

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

例 366. classkit_method_redefine() の例
<?php
class Example {
   function foo() {
       return "foo!\n";
   }
}

// Example オブジェクトの作成
$e = new Example();

// Example::foo() の出力(再定義前)
echo "Before: " . $e->foo();

// 'foo' メソッドの再定義
classkit_method_redefine(
   'Example',
   'foo',
   '',
   'return "bar!\n";',
   CLASSKIT_ACC_PUBLIC
);

// Example::foo() の出力(再定義後)
echo "After: " . $e->foo();
?>
上の例の出力は以下となります。

Before: foo!
After: bar!

    


参考

classkit_method_add()
classkit_method_copy()
classkit_method_remove()
classkit_method_rename()




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「classkit_method_redefine」の関連用語

classkit_method_redefineのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



classkit_method_redefineのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS