リフレクションとは、PHPプログラムの解析をPHPの実行状態で拡張し、クラスやメソッドの詳細情報をエクスポートまたは抽出することです。 、属性、パラメータなど、コメントを含みます。この動的に情報を取得し、オブジェクトのメソッドを動的に呼び出す機能をリフレクションAPIと呼びます。リフレクションは、オブジェクト指向パラダイムでメタモデルを操作するための API であり、非常に強力で、複雑でスケーラブルなアプリケーションの構築に役立ちます。
その用途には、プラグインの自動ロード、ドキュメントの自動生成が含まれ、PHP 言語の拡張にも使用できます。
PHP Reflection API は、プログラムのメタデータにアクセスしたり、関連する注釈と対話したりするのに役立ついくつかのクラスで構成されています。リフレクションの助けを借りて、クラスによって実装されたメソッドを取得し、クラスのインスタンスを作成し (new による作成とは異なります)、メソッドを呼び出し (これも通常の呼び出しとは異なります)、パラメーターを渡し、静的メソッドを動的に呼び出すことができます。クラスのメソッド。
Reflection API は、いくつかのクラス、例外、インターフェイスを含む PHP の組み込み oop テクノロジ拡張機能であり、これらを組み合わせて使用すると、他のクラス、インターフェイス、メソッド、プロパティ、メソッド、拡張機能の分析に役立ちます。これらの oop 拡張はリフレクションと呼ばれます。
ReflectionClass を通じて、Person クラスの次の情報を取得できます:
1) 定数
2)プロパティのプロパティ名
3) メソッド メソッド名 static
4) プロパティ静的プロパティ
5) 名前空間 名前空間
6) Personクラスがfinalかabstractか
次に、thinkphp のソース コードを見て、MVC の実装についてさまざまな経験をしました。
ThinkPHPLibCoreApp.class.php の exec メソッド。
上記は php でのリフレクションの適用に関するもので、皆さんが php リフレクションを理解し学習するのに役立つことを願っています。