我有一个巨大的项目,其中有许多别名和命名空间导入。我想要一种方法来找到一种方法,我可以检查哪个文件(.php文件)正在导入哪个命名空间,别名。例如:
<?php
namespace foo;
use MyFullClassname as Another;
use MyFullNSname;
use ArrayObject;
$obj = new namespaceAnother;
$obj = new Another;
NSnamesubnsfunc();
$a = new ArrayObject(array(1));
?>
同样有很多其他文件,我如何找到哪些类依赖于什么?Thank You
你可以使用Nikic的PHP-Parser。您只需要实现一个节点访问器。
这是一个很好的问题!你有没有想过自动加载在Zend框架和其他一些工作吗?
所有这些魔术都是由Reflector
完成的,想要了解更多,请点击这里
示例1:查找已定义的函数
$temp = new ReflectionFunction('FUNCTION_NAME');
echo $temp->getFileName(); // Path of the file where function defined
示例2:查找已定义的Class
$temp = new ReflectionClass('CLASS_NAME');
echo $temp->getFileName(); // Path of the file where class defined