【搬】PhpStorm支持CI框架的自动补全!
本帖最后由 Mayday0602 于 2015-5-6 14:30 编辑发帖前搜索了一下论坛,没有看到相关的资源
所以做一个小白的搬运工
代码参考:https://github.com/topdown/phpStorm-CC-Helpers
大神的仓库里面还有其他一些ide&框架的自动提示支持英文好的可以自行搬运。
环境说明:
phpstorm 7.1 (以下简称为PS)
CI 2.2.2
解决问题:
1. PS里面没有CI框架的自动提示,model找方法很抓狂?($this->load 之后再无下文)
2. model的方法没有自动提示,每次都要对照着model结构图来写。($this->xxx_model-> 之后再无下文)
实现效果:
1. PS完全支持CI的各种书写格式,从此告别“盲人”开发阶段!(广告- -)
教程开始:
1. 下载CI框架对应的3个文件到一个文件夹比如AutoHelper(会git的当我没说)http://codeigniter.org.cn/forums/data/attachment/album/201505/06/140708uhvne44f187fnohe.png
2. 在你项目的External Libraries上右键->Configure PHP Include Path
http://codeigniter.org.cn/forums/data/attachment/album/201505/06/142610i7qa8q5851mre7qa.png
3. 将刚才的AutoHelper文件夹添加到里面并保存
http://codeigniter.org.cn/forums/data/attachment/album/201505/06/142611qy22vkoykzozfoko.png
4. 之后 选中3个核心文件->右键->Mark as Plain Text
http://codeigniter.org.cn/forums/data/attachment/album/201505/06/142611lwihsn69nyrn67h9.png
现在你的load就已经出现自动提示了!
为什么我load的xxx_model还没有提示?
5. 打开刚才添加的3个文件中的my_models.php
将对应的xxx_model添加到开头的注释里面
http://codeigniter.org.cn/forums/data/attachment/album/201505/06/142613pvzzmqyq3v3m5yqy.png
现在你的xxx_model的提示也全了!
个人总结:
1. 其实老外就是改变了PS解析的来源,通过添加注释的方法获得框架相关的自动提示
2. 由1条可以得,不管你load不load xxx_model 只要你添加到my_model.php的注释区,都会有自动提示(所以是否已经load对应model要自己判断哦!)
问题:
1. 为什么我添加了却没有提示?
答:
a. 就我这个项目而言,我在sadmin里面有自应用,PS在解析的时候会发生多处声明的错误而导致自动提示失败
解决办法:将自应用里面的相关文件统统"Mark as Plain Text"!
统一解决办法: 鼠标移到CI_Controller上(通常已经有警告提示)查看报错原因。并尝试解决。
彩蛋:
1. 老项目的话很多model,不好添加,大神写脚本,windows下面的话提供朋友写的一个注释生成器,很简单,一用就会。
2. 如果加了MY_Service怎么处理?(参考文章:http://www.phpddt.com/php/ci-service.html)
a. 在添加的3个文件中的CI_phpStorm.php 中找到 CI_loader 修改为 MY_loader (获得load->service的提示)
b. 在MY_Service开头参考添加自己需要提示的模块注释(@property xxx_model $xxx_model)
2个问题
1. 如果Model里面层次比较多时候怎么办?比如model/dao/user.php,注释是直接加@property user_model $user_model?我有试过,不行。
2. 3.0里面是没有DB_active_rec.php,改成DB_query_builder,这个也可以备注下。 我的是phpstorm9.0的,放进去之后不起作用呢?是把autoHelper这个文件夹放在项目的根目录下面吗? mac版的知道怎么弄吗 有个问题 , 控制器中 load model会有提示 ,而且$this->user_model->getXXx 也能提示,但是如果是在 model里面 load就不能提示了 phpstudy_ 发表于 2016-9-18 15:42
有个问题 , 控制器中 load model会有提示 ,而且$this->user_model->getXXx 也能提示,但是如果是在 model ...
:L
没事 解决了, 把生成的注释添加到 CI_phpStrom.php 就可以了。。。。 abel_1990 发表于 2015-8-3 18:06
**** 作者被禁止或删除 内容自动屏蔽 ****
请问,之后版本里的DB_query_builder,也需要标记为纯文本吗? 请问,我这里 $this->user_model能提示,但$this->user_model->getXXx 获取model里的方法就不提示了呢?
能想想办法吗
页:
[1]