sublime php好用吗,用 sublime text 小半年了,说下感受

20

2015-09-10 04:07:44 +08:00

@YuJianrong

不是说让你每个文件都写进 meta 文件,类似于定义 namespace

对于 PHP 来说,常规的用法 IDE 自己就会识别,比方说:

$model = new MyClass ();

$model->doThis ();

你在运用的时候,觉得 doThis ()名字起得不好,要改成 doThat (),你直接在运用的地方改,其他所有地方都会自动改变。 IDE 还会进行分析,如果它没把握重构所有的地方,还会触发预览模式让你判断。

特别的调用格式,你只要描述特征,它自己会进行匹配。

例:项目有很多和 table 对应的 model ,一开始他们都有一个方法是 setName (),属于反射方法,自动对应表里的 column 名字

因为项目比较大, model 不能全放一个地方,而且为了区分名字很长

用 new LONG_NAME_MODEL_A ()写起来很不方便,于是开始使用统一的反射调用方法:

MYAPP::getModel ('a');

MYAPP::getModel ('b');

如果只是几个 model ,你还可以写在 phpdoc 里,进哪个参数,出哪个 model ,如果有几百个 model , phpdoc 就没办法了

@gaitana 你可以参考这个

这个时候 model b 的 field 名字改了,从 name 变成了 firstname , setName 和 getName 都要重构, PhpStorm 在这个情况下是不会自动识别::getModel ()调用了哪个 class 的。为了开发方便,让 IDE 识别我们特别的方式

就要把这个特例写进 meta 文件:

项目根目录放文件 .myapp.meta.php

结构大致如下:

namespace = PHPSTORM_META {

$STATIC_METHOD_TYPES = [

\MYAPP::getModel ('') => [

'a' instanceof \LONG_NAME_MODEL_A,

'b' instanceof \LONG_NAME_MODEL_B

....

这样等 IDE 做完 index ,重构的时候就可以准确定位到某一个 model 的方法了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值