详谈配置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伪静态写法附代码
Jun 20 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
PHP安全下载文件的方法
Apr 07 PHP
ThinkPHP简单使用memcache缓存的方法
Nov 15 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
Mar 28 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
一段实时更新的时间代码
2006/07/07 Javascript
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
python中通过预先编译正则表达式提高效率
2017/09/25 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python数学形态学实例分析
2019/09/06 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
python怎么判断模块安装完成
2020/06/19 Python
用python对excel查重
2020/12/07 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
比驿:全球酒店比价网
2018/06/20 全球购物
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
感恩节活动策划方案
2014/05/16 职场文书
工地安全质量标语
2014/06/07 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js