Pythonのdir()
に似た、すべてのオブジェクトの属性(パブリックメソッドやプロパティなど)をPHPにリストする関数はありますか?すべてのオブジェクトの属性をリストするPHP関数
答えて
オブジェクト変数を一覧表示するのにget_object_vars
を使用し、特定のクラスのメソッドを一覧表示するにはget_class_methods
を使用できます。
PHP5には、get_class_methodsおよびget_object_varsより古いものを超える完全なReflection APIが含まれています。
Reflection::export(new ReflectionObject($Yourobject));
(APIは非常によく文書化されていないようだが)これを行うには、リフレクションAPIのReflectionClass::getProperties
とReflectionClass::getMethods
メソッドを使用することができます。 PHPリフレクションは、実行時オブジェクトではなく、コンパイル時の情報のみを反映します。クエリ結果にランタイムオブジェクトを含めたい場合は、get_object_vars
、get_class_vars
、およびget_class_methods
の関数を使用するのが最善です。 get_object_vars
ととの違いは、前者が特定のオブジェクトのすべての変数(実行時に動的に追加される変数を含む)を取得し、後者はクラス内で明示的に宣言された変数のみを取得することです。
非常に有用で完全な答え、ありがとう! +1 –
「... get_class_varsは明示的にクラス内で宣言された変数のみを与えます」と関連するVALUESは、クラス内で宣言されたものですランタイム値ではありません)。 –
- 1. すべてのhref属性リストをPHPで取得
- 2. PHPのSimpleXML - すべての子が親属性は、変数値
- 3. Pythonの関数 'オブジェクトは属性「均一」
- 4. リスト内の属性の一致を取得する関数
- 5. Pythonのオブジェクトのリストから属性のリストを抽出する
- 6. オブジェクト属性のリストを使用してオブジェクトのリストを並べ替える方法
- 7. OO PHP - クラスからすべての属性を取得する
- 8. 「リスト」オブジェクトが属性「タイムアウト」
- 9. PHPの文字列属性名を持つオブジェクトの属性を設定する
- 10. オブジェクトのリストから属性のリストを返します
- 11. Django1.9: '関数' オブジェクトは属性 '_meta'
- 12. 「関数」オブジェクトは、無属性「データ」
- 13. 青写真「属性 『関数』オブジェクトが属性 『名前』を持っていない
- 14. すべての製品属性のリストをmagentoで取得
- 15. マップ私のオブジェクトへのすべての属性を削除
- 16. 属性のすべての属性と値をフィルタリングします。
- 17. ジャンゴ「関数」オブジェクトが無属性のオブジェクトの
- 18. cx_Freeze属性エラー:「リスト」オブジェクトは、属性「アイテムの
- 19. 配列内のすべてのJSONオブジェクトに属性をプッシュ
- 20. Sortableリストからすべての要素属性を取得
- 21. PHP Yii2 - オブジェクトの属性名を取得
- 22. オブジェクト属性内でイベント関数を処理する方法は?
- 23. BeautifulSoupのfindAll「リスト」オブジェクトには属性「find_all」
- 24. リスト内の各オブジェクトの属性をPython用に変更する
- 25. NLTK NaiveBayesClassifierは、属性のエラーを知らせる「リスト」オブジェクトは、属性「アイテムの
- 26. 既存の属性をすべての属性セットに追加
- 27. コンプレックスレール関連するオブジェクト関連の属性の検証
- 28. オブジェクトに属する属性(リスト<Foo>)
- 29. 属性の文字列長を調べるXpath関数
- 30. 特定のオブジェクトの属性とメソッドをリストする関数がPythonにはありますか?
これは魔法の仕組みでは機能しません。 – OIS