phpエディタYouziでは、実装インターフェースや継承構造の構造名を取得するメソッドを紹介しています。プログラミングでは、クラスがどのインターフェイスを実装するか、またはクラスがどの構造を継承するかを取得する必要があることがよくあります。リフレクション メカニズムを使用すると、この情報を簡単に取得できます。 ReflectionClass クラスの getInterfaceNames() メソッドと getParentClass() メソッドを使用するだけで、クラスによって実装されたインターフェイスの名前と、継承された構造の名前を取得できます。この方法はシンプルで実用的であり、コード構造をよりよく理解して分析するのに役立ちます。
リフレクションを使用して、インターフェイスを実装する、または特定のパッケージの特定の構造を継承するすべての型の名前を表す文字列のスライスを取得することはできますか?
reflect
パッケージのドキュメントを調べた結果、これは不可能だと思います。これは Go でのリフレクションの仕組みとは異なります。インターフェースのメカニズムは宣言的ではなく (アヒル型で)、そのような型のリストはありません。
ast
パッケージを使用してプロジェクトを解析し、型のリストを取得し、インターフェイスが実装されているかどうかを確認してから、上記のスライスを提供するコードを記述する方がうまくいくかもしれません。これによりコンパイル手順が追加されますが、結果は素晴らしいものになります。 以上がインターフェイスまたは継承された構造を実装する構造の名前を取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。