この記事の例では、PHP クラスでのリフレクションの使用について説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
この例では、各チャネルに対応するクラスを取得して、対応する操作を実行する実装が実装されています。詳細は以下の通りです
$className = $this->chsMap[$ch];
If($className) { // 有効なクラス名の場合
// リフレクション クラスを取得します
$class = 新しい ReflectionClass($className);
// クラスメソッドを取得します
$recd = $class->getmethod('exeRecd');
//クラスのインスタンスを生成する
$instance = $class->newInstance($this->qq, $this->ip);
//実行メソッド
$result[$ch] = $recd->invoke($instance);
}
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
オブジェクトの型を取得するには、gettype() 関数を使用します。
どのクラスのインスタンスを取得するにはオブジェクトの場合は、 get_class () 関数を使用します:
クラスまたはオブジェクトのメソッドと属性を取得するには、リフレクションを使用します:
< ;?phpclass MyClass { public $var; public function foo() {}}$ref = new ReflectionClass('MyClass');$ref->getProperties(); // 使用のために、オブジェクトのセットが返されます。 PHP マニュアルを参照してください $ref->getMethods( ); // オブジェクトのセットを返します。使用法については PHP マニュアルを参照してください $obj = new MyClass();$ref = new ReflectionObject($obj);$ ref->getProperties();$ref->getMethods();
http://www.bkjia.com/PHPjc/904927.html