ホームページ > バックエンド開発 > PHPチュートリアル > パラメーターを持つ PHP リフレクション クラスは、リフレクション オブジェクト メソッドを実行し、パラメーター関数のサンプル分析を渡します。

パラメーターを持つ PHP リフレクション クラスは、リフレクション オブジェクト メソッドを実行し、パラメーター関数のサンプル分析を渡します。

WBOY
リリース: 2016-06-20 12:34:17
オリジナル
2048 人が閲覧しました

背景: 初期の Kohana フレームワークでは、実行中に例外が発生した場合、クラス内の before after、コントローラー、およびアクション関数は、リフレクション クラスを使用して、あらかじめ決められた順序で柔軟に実行できます。提供された例外キャプチャは出力をキャプチャします。これには、クラスがオブジェクトを変更した後にパラメータを渡すという問題が伴います。この PHP は、対応する関数も提供します。リフレクション クラスのメソッド ReflectionMethod::invokeArgs。

次のようにコード スニペットを使用します:

$class = new ReflectionClass('Person'); // 建立 Person这个类的反射类 $instance  = $class->newInstanceArgs($args); // 相当于实例化Person 类 public stdclass newInstance(mixed* args)//测试传入的对象是否为该类的一个实例
ログイン後にコピー

リフレクションに関連するその他の記事を参照してください:

http://flandycheng.blog.51cto.com/855176/ 326021/

http://www.phperz.com/article/14/0809/17371.html

自分で調べてください: http://justwinit.cn/post/2090/

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionMethod::invokeArgs — パラメーターを指定して実行します

説明

publicmixedReflectionMethod::invokeArgs(object $object, array $args)

配列を使用してメソッドにパラメータを渡し、メソッドを実行します。

パラメータ

オブジェクト

呼び出しメソッドのオブジェクト (静的オブジェクトの場合は null に設定します)

args

配列メソッドのパラメータを使用して送信されます。

戻り値

メソッドの戻り値

エラー/例外

オブジェクトで指定されたインスタンスがメソッドを実行できない場合、ReflectionException 例外が生成されます。

メソッド呼び出しが失敗すると、ReflectionException が生成されます

例 #1 ReflectionMethod::invokeArgs() example

class HelloWorld {

public function SayHelloTo($name) {

return 'Hello ' . $name;

}

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');

echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));

?>

上記のルーチンは次の出力を行います:

Hello Mike

Notes

Note:

If関数にパラメータがあり、参照である場合、それらは参照によって渡される必要があります。

ReflectionMethod::invoke() - 呼び出し

__invoke()

call_user_func_array() - コールバック関数を呼び出し、配列パラメータを次のように渡します。コールバック関数

のパラメーター: http://help.bitscn.com/php/reflectionmethod.invokeargs.html

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート