0

MyParentClass を拡張するすべてのクラスを探しているので、それらに対して特定の静的関数を実行できます。

PHP には関数 get_declared_classes があり、それからinstanceoforを使用できることはわかっていますReflection::isSubclassOf()が、私のプロジェクトには、これを適切に使用するにはクラスが多すぎます。

私の次のオプションは、すべての適切なクラスが特定のフォルダーにあることを確認してから、Relection で再確認することです。

これを行う別の方法はありますか?

4

2 に答える 2

2

コードベース全体のどのクラスが特定のメイン クラスを拡張しているかを知りたいとします。これは、すべてのファイルでクラス定義を検索せずに知ることはできません。次に、見つかったすべてのクラスがメイン クラスを拡張するかどうか (またはメイン クラスを拡張するクラスを拡張するかどうか...) を確認します。get_declared_classes()この関数は、この関数を呼び出す前のコード実行中に使用されたクラスのみをリストするため、役に立ちません。ファイルで定義されているが、まだ (自動) ロードされていないクラスは一覧表示されません。

何をしているのかしら。それらに静的関数を適用したいと言っていますが、これは正確には何ですか? XY-problemの別のインスタンスを感じます。つまり、すべての拡張クラスを検索すると問題が解決すると考えているため、それを尋ねているのですが、代わりに、そう思わせた問題について質問する必要があります。

于 2013-10-09T00:07:17.870 に答える