如何检查一个类是否在PHP中使用了一个特征?

2022-08-30 12:23:29

请注意,一个特征可能使用其他特征,因此该类可能不会直接使用该特征。而且,该类也可以从父类继承,该父类是使用该特征的父类。

这是一个可以在几行内解决的问题,还是我必须做一些循环?


答案 1

class_uses() 函数将返回一个数组,其中包含该类使用的所有特征的名称,并通过向其传递类名或实例来工作。但是,您需要通过继承树“递归”才能使用所有特征,并通过每个特征

编辑

请注意,它提供了一个示例函数,演示如何在链接的PHP文档页面的评论部分进行此递归stealz at op dot pl


答案 2

如果有人在使用Laravel框架时遇到这个问题,那有一个名为的帮助程序函数。class_uses_recursive()

https://laravel.com/docs/8.x/helpers#method-class-uses-recursive


推荐