详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)


Posted in PHP onApril 07, 2017

1、设置字体、风格

详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)

详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)

详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)

代码主题选择Monokai会是彩色的代码。

2、配置CI代码提示

<1>下载代码提示项目:

https://github.com/topdown/phpStorm-CC-Helpers

<2>拷贝提示片段:

将CI_phpStorm.php,DB_active_rec.php(改名为DB_query_builder.php),my_models.php拷贝到网站根目录,即index.php同目录下。

<3>将CI核心类设为纯文本:

将system里面的core/Controller.php,core/Model.php,database/DB_query_builder.php右键设为plain text。

现在已经有代码完成功能了。

<4>实现model提示功能:

把Model类在my_models.php的注释里添加,注意把类名首字母大写改为小写。这样Model就能提示了。

<5>实现view提示:

<h2><?php
  /**
   * @see News::index()
   * @var News $title
   * @var News $news
   */
  echo $title;
?></h2>

相应的controller类需要实现__toString()方法,就可以了。

按住ctrl+鼠标左键,就可以看到他来自于哪个类(ctrl+q显示注释),如果点击函数名则可以导航到那个函数。

<6>model子文件夹

在model再创建文件夹,比如创建这样一个model类:mod/Test1_model.php。

同样是在my_models.php里添加注释,但是忽略mod文件夹,当这个文件夹不存在一样:

@property test1_model      $test1_model

但是在代码load的时候,这个文件夹要体现出来,这样体现出来也不会影响这个代码提示的:

$this->load->model('mod/test1_model');

$data['news2'] = $this->test1_model->getData();

<7>实现library自定义类提示功能

自定义代码会放在libraries里面,并且会放在一个单独的子文件夹里。因为这个代码可能会重用,这个子文件夹会单独做为一个git,而其他的代码则重用的可能性不大、紧扣本网站的独特业务逻辑,不考虑重用问题。那么这种自定义代码如何做代码提示?跟model是一样的:

@property Testzphp        

$testzphp
然后在controller里:

$this->load->library('zphp/Testzphp');

$data['zphp'] = $this->testzphp->test(235);

3、git配置

将.idea添加到忽略清单。

4、拼写检查去掉

project settings ---> inspections ---> spelling ---> Typo的勾去掉

5、快捷键

<1>快速导航

当通过代码导航到对应的类-方法查看源代码之后,需要能快速的返回回来:ctrl+alt+左箭头/右箭头

以上这篇详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP中的日期及时间
Nov 23 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
php实现的zip文件内容比较类
Sep 24 PHP
php的curl封装类用法实例
Nov 07 PHP
PHP封装的Twitter访问类实例
Jul 18 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
微信支付开发交易通知实例
Jul 12 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
php 根据自增id创建唯一编号类
Apr 06 #PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 #PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 #PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 #PHP
php生成0~1随机小数的方法(必看)
Apr 05 #PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 #PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 #PHP
You might like
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
php取出数组单个值的方法
2018/03/12 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
jquery中animate动画积累的解决方法
2013/10/05 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
python3中str(字符串)的使用教程
2017/03/23 Python
使用Python 统计高频字数的方法
2019/01/31 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
python 实现图片批量压缩的示例
2020/12/18 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
安全教育心得体会
2013/12/29 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书