详谈配置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 相关文章推荐
杏林同学录(三)
Oct 09 PHP
PHP 日常开发小技巧
Sep 23 PHP
thinkphp 多表 事务详解
Jun 17 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
PHP验证信用卡卡号是否正确函数
May 27 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
php实现搜索类封装示例
Mar 31 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
PHP中16个高危函数整理
Sep 19 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和ACCESS写聊天室(二)
2006/10/09 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
如何在python中实现线性回归
2020/08/10 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
酒店总经理职务说明书
2014/02/26 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
爱心捐款感谢信
2015/01/20 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
新闻通讯稿范文
2015/07/22 职场文书