详谈配置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桌面中心(三) 修改数据库
Mar 11 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php学习之运算符相关概念
Jun 09 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php实现Mysql简易操作类
Oct 11 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 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执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php批量修改表结构实例
2017/05/24 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
在vue中使用setInterval的方法示例
2019/04/16 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中正则表达式的详细教程
2015/04/30 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
Django工程的分层结构详解
2019/07/18 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
python中如何设置代码自动提示
2020/07/15 Python
python简单实现9宫格图片实例
2020/09/03 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
单位接收证明格式
2015/06/18 职场文书
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python