在我的网站上有一个名为plugins的文件夹。我想在每个类的文件夹和方法中使用所有的类。但我不知道如何使用反射从该文件夹中获取方法名和类名?我应该在哪里为它编写代码?
方法1:可以使用autoloader加载类,如果资源计数不确定,可以将所有类收集到一个可迭代数组中。
方法2:您可以使用get_declared_classes()
方法来获取所有声明的类,并与指向您的插件的regex进行匹配。
毕竟它使用反射。
<?php
foreach ($declaredClasses as $key => $classWithNamespace) {
$class = new ReflectionClass($classWithNamespace);
$methods = $class->getMethods();
foreach ($methods as $method) {
//analyze your methods
}
}
但如果你不把这些东西缓存在你的产品环境中。会有很多性能问题,反思成本不菲!