详谈配置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实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
写出高质量的PHP程序
Feb 04 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
php操作memcache缓存方法分享
Jun 03 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
简单实现php上传文件功能
Sep 21 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 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顺序查找和二分查找示例
2014/03/27 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python线程池threadpool使用篇
2018/04/27 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
python输出数学符号实例
2020/05/11 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
存储过程和sql语句的优缺点
2014/07/02 面试题
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
年度考核自我鉴定
2013/11/09 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
三好学生事迹材料
2014/12/24 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫