详谈配置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的控制语句
Oct 09 PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php UBB 解析实现代码
Nov 27 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
php实现遍历多维数组的方法
Nov 25 PHP
php中str_pad()函数用法分析
Mar 28 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
Laravel相关的一些故障解决
Aug 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
php学习之简单计算器实现代码
2011/06/09 PHP
PHP使用数组实现队列
2012/02/05 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
PHP 实现缩略图
2021/03/09 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
详解Python中heapq模块的用法
2016/06/28 Python
python实现八大排序算法(2)
2017/09/14 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
Python-split()函数实例用法讲解
2020/12/18 Python
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
客服实习的个人自我鉴定
2013/10/20 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
应届生面试求职信
2014/07/02 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
芙蓉镇观后感
2015/06/10 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
2019年入党思想汇报
2019/03/25 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
Linux安装Docker详细教程
2022/07/07 Servers