是否可以将php中的类别名列表作为数组



示例

namespace Foo;
use TestOne;
use TestTwo;
use TestThree;
class Sample
{}

如何将别名(USE(作为数组获取?

我希望获得的示例

$test=[test\One,test\Two,test\Tree];

如果不扫描文件,有人有什么建议吗?

或者是否有一个PHP函数会将列表别名作为数组返回?

任何帮助都将不胜感激。

假设我有以下类,并且文件被定位并命名为以下文件名和位置src/Foo.php

namespace Foo;
use TestOne;
use TestTwo;
use TestThree;
class Sample
{}

现在我可以扫描这个文件

有了这个函数,我可以扫描该类并得到预期的结果。

<?php
use SplFileObject;
class Scanner
{
public static function getUseAliases()
{
$className = new SplFileObject("src/Foo.php");
$use = [];

while (!$className->eof())
{
$alias = explode("use ", $className->fgets());
if(!empty($alias[1]))
{
$use[] = trim($alias[1]);
}
} 
$className = null; //Unset the file to prevent memory leaks
print_r($use);//will print my expected output [TestOne, TestTwo, TestThree]
}
}

我认为应该有更好的方法来获得相同的结果,这就是我发布当前解决方案的原因。请告诉我你的想法。

您可以尝试使用这个类:

https://gist.github.com/Zeronights/7b7d90fcf8d4daf9db0c

相关内容

  • 没有找到相关文章

最新更新