详谈配置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 06 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
PHP中实现crontab代码分享
Mar 26 PHP
PHP解压tar.gz格式文件的方法
Feb 14 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
May 06 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
php 函数使用可变数量的参数方法
May 02 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 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
Apache设置虚拟WEB
2006/10/09 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
为你总结一些php信息函数
2015/10/21 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
Pandas标记删除重复记录的方法
2018/04/08 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Python实现AI换脸功能
2020/04/10 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
如何删除一个表里面的重复行
2013/07/13 面试题
公务员职务工作的自我评价
2013/11/01 职场文书
中学教师培训制度
2014/01/31 职场文书
品质标语大全
2014/06/21 职场文书
实习生个人总结范文
2015/02/28 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
实习证明模板
2015/06/16 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android