详谈配置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 相关文章推荐
dedecms模板标签代码官方参考
Mar 17 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
php经典算法集锦
Nov 14 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
php实现登陆模块功能示例
Oct 20 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
php实现大文件断点续传下载实例代码
Oct 01 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连接MongoDB示例代码
2012/09/06 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
vue组件name的作用小结
2018/05/23 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python写入数据到MP3文件中的方法
2015/07/10 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
公司活动邀请函
2014/01/24 职场文书
经典英文广告词
2014/03/18 职场文书
工程承诺书怎么写
2014/05/24 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
银行资信证明
2015/06/17 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书