eclipse中使用php文件路径,Eclipse – 在重构php-Classes时使用文件名约定

我是eclipse的新手,正在使用版本:Mars.1 Release(4.5.1)

我正在使用“PHP开发工具3.6”插件的重构工具来重命名,例如类.

我们的类文件名遵循简单的PSR-0约定,下划线代表一个子目录.

所以例如

class Class_Something

位于

类/ Something.php

如果我将Class_Something类重命名为Class_Something2,那么将文件自动移动到Class / Something2.php会很棒.

有人知道是否可以自动重构类的名称和引用,还有文件名?

在此先感谢您的帮助!

解决方法:

看起来像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

>转到“运行外部工具”>外部工具配置>点击Program Section>按“新建启动配置”

>在Tab Main中,指定自定义批处理文件的位置

>同时指定他的工作目录

>在Arguments部分中,将这些参数放入${container_loc} ${resource_loc}

完成!,现在当你在Eclipse中重命名类时,只需单击Run Button

标签:php,eclipse,refactoring,psr-0

来源: https://codeday.me/bug/20190523/1156670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值