看起来像 Eclipse 插件的手工解决方案
首先,从php-parser-github下载并安装 PHP Parser
源代码示例
require 'vendor/autoload.php';
use PhpParser\ParserFactory;
$parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
try {
$stmts = $parser->parse('<?php class MyClass_SubDir {private $member;}');
var_dump($stmts);
}
catch (Error $e) {
echo 'Parse Error: ', $e->getMessage();
}
从命令行运行它//输出
array(1) {
[0]=>
object(PhpParser\Node\Stmt\Class_)#8 (6) {
["type"]=>
int(0)
["extends"]=>
NULL
["implements"]=>
array(0) {
}
["name"]=>
string(14) "MyClass_SubDir"
["stmts"]=>
array(1) {
[0]=>
object(PhpParser\Node\Stmt\Property)#7 (3) {
...
}
如您所见,我们可以获取当前源中定义的所有类
--object(PhpParser\Node\Stmt\Class_
|
|___ name : MyClass_SubDir
这里的目标是
- 从类名中提取目录名,你可以使用 `regex` 或 `explode`
- 将当前文件移动到想要的目录,可以使用`rename`功能
将您的 php 代码保存在某处...例如 eclipse_plugin.php ..
下一步是创建一个将插入 Eclipse 的批处理文件
创建一个浴缸文件,它将接收来自 Eclipse 的 2 个参数
- **$1** : 容器位置 - Eclipse 中所选文件的绝对路径
- **$2** : 资源位置 - Eclipse 中所选文件的绝对路径和名称(我们只需要 $2 :-))
在批处理文件中
php eclipse_plugin.php $1 $2
注意:php 必须在PATH
环境变量中 PHP 会在其中找到他的参数$argv[0]
和$argv[1]
配置 Eclipse
- 转到运行外部工具>外部工具配置>单击程序部分>按新启动配置
- 在 Tab Main 中,指定自定义批处理文件的位置
- 还要指定他的工作目录
- 在参数部分,把这些参数 ${container_loc} ${resource_loc}
完毕 !,现在当您在 Eclipse 中重命名您的类时,只需单击运行按钮:)
高温高压