Eclipse – 在重构php-Classes时使用文件名约定
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Eclipse – 在重构php-Classes时使用文件名约定,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1947字,纯文字阅读大概需要3分钟。
内容图文
![Eclipse – 在重构php-Classes时使用文件名约定](/upload/InfoBanner/zyjiaocheng/822/4ebb9a65b4994201af541a236737f055.jpg)
我是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
内容总结
以上是互联网集市为您收集整理的Eclipse – 在重构php-Classes时使用文件名约定全部内容,希望文章能够帮你解决Eclipse – 在重构php-Classes时使用文件名约定所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。