Atom编辑器具有hyperclick程序包。
我试图建立一个可以
当用户在文件中的类名称上按Ctrl
+时,打开left click
文件。观看超级点击的演示
我最初的想法是依靠作曲家。
我有几件事
当前打开的文件路径,用户单击的字符串以及行号。
例如:假设我们有一个
<?php
namespace Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->table('posts');
}
}
然后用户单击Table
,其想法是Cake/ORM/Table.php
借助composerfindFile()
方法从适当的位置打开。
<?php
$loader = require '/current/project/vendor/autoload.php';
$loader->findFile('Table');
然后我知道Table
不是FQCN,所以我们需要获取FQCN Cake\ORM\Table
。有什么方法可以从当前的情况中获取FQCN?
我看了一下Reflection,但它也需要FQCN。我希望我们在第三方套餐中的中继量能减少很多。例如,有些人可能建议看看https://github.com/nikic/PHP-Parser。如果还有其他方法(easy pc;)),请告诉我。
谢谢
使用标记当前PHP文件token_get_all()
。然后:
new \a\b\Something();
,查看T_NS_SEPARATOR
和T_STRING
标记时)T_USE
在令牌之前找到所有令牌,T_CLASS
并查看其中是否有一个直接链接到Table
(例如use a\b\Table;
或use a\b\c as Table;
,也请参见T_AS
)T_NAMESPACE
和之间的所有非空格标记,在当前名称空间之前添加前缀';'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句