我是eclipse的新手,正在使用版本: Mars.1 Release (4.5.1)
我正在使用"PHP开发工具3.6“插件的重构工具来重命名类。
我们的类文件名遵循简单的PSR-0约定,即下划线表示一个子目录。
例如,类Class_Something位于Class/Something.php中
如果我将类Class_Something重命名为Class_Something2,如果文件会自动移到Class/Something2.php,那就太好了
有没有人知道不仅可以自动重构类的名称和引用,还可以自动重构文件名?
提前感谢您的帮助!
本
发布于 2016-01-20 18:48:35
看起来像Eclipse插件的手工解决方案
首先,从以下位置下载并安装PHP Parser:php-parser-github一个简单的示例将向您展示,您可以从给定的源代码获取类名
源代码的示例
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插入
创建一个bath文件,它将从Eclipse接收2个参数
资源位置**$1**:容器位置-所选文件在Eclipse
在批处理文件中put
php eclipse_plugin.php $1 $2 php注意:PHP必须在PATH环境变量中PHP会在$argv[0]和$argv[1]中找到他的参数
配置Eclipse
完成了!,现在当您在中重命名您的类时,只需单击运行按钮 :)
HTH
https://stackoverflow.com/questions/34785062
复制相似问题