ホームページ > バックエンド開発 > PHPチュートリアル > PHP の Reflection_PHP チュートリアルを使用してオブジェクト情報を取得する

PHP の Reflection_PHP チュートリアルを使用してオブジェクト情報を取得する

WBOY
リリース: 2016-07-13 10:33:46
オリジナル
1128 人が閲覧しました

PHP5 には、リフレクションという新しい機能が追加されています。この機能により、プログラマはクラス、インターフェイス、関数、メソッド、拡張機能をリバース エンジニアリングできます。 PHP コードを通じて、オブジェクトのすべての情報を取得し、オブジェクトと対話できます。

クラス人:

があるとします。 リーリー

ReflectionClass を通じて、Person クラスの次の情報を取得できます:

  • 定数
  • プロパティ名
  • メソッド名
  • 静的プロパティ
  • ネームスペース
  • Person クラスが Final クラスか Abstract クラスかどうか

クラス名「person」を ReflectionClass に渡すだけです:

リーリー

プロパティの取得 (プロパティ):

リーリー

デフォルトでは、ReflectionClass はプライベートおよび保護されたプロパティを含むすべてのプロパティを取得します。プライベート属性のみを取得したい場合は、追加のパラメーターを渡す必要があります:

リーリー

利用可能なパラメータリスト:

  • ReflectionProperty::IS_STATIC
  • ReflectionProperty::IS_PUBLIC
  • ReflectionProperty::IS_PROTECTED
  • ReflectionProperty::IS_PRIVATE

パブリック プロパティとプライベート プロパティの両方を取得したい場合は、次のように記述します: ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED

それは奇妙に感じるべきではありません。

プロパティ名は $property->getName() を通じて取得でき、プロパティに書き込まれたコメントは getDocComment を通じて取得できます。

リーリー

それはちょっと信じられないですね。コメントも取得できます。

メソッドの取得: getMethods() を通じてクラスのすべてのメソッドを取得します。返されるのは、ReflectionMethod オブジェクトの配列です。これ以上のデモはありません。

最後に、ReflectionMethod を通じてクラス内のメソッドを呼び出します。

リーリー

ちょっと面白い。

http://www.bkjia.com/PHPjc/752417.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752417.html技術記事 PHP5 には、リフレクションという新しい機能が追加されています。この機能により、プログラマはクラス、インターフェイス、関数、メソッド、拡張機能をリバース エンジニアリングできます。 PHP コードを通じて、特定の情報を取得できます...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート