详谈配置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读取和编写XML DOM的实现代码
Feb 03 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
php在数组中查找指定值的方法
Mar 17 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
如何使用php等比例缩放图片
Oct 12 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
laravel利用中间件做防非法登录和权限控制示例
Oct 21 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
用php来检测proxy
2006/10/09 PHP
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
JS 自动安装exe程序
2008/11/30 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
解决Spyder中图片显示太小的问题
2018/04/27 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Numpy之reshape()使用详解
2019/12/26 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
《夸父追日》教学反思
2014/02/26 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
酒会邀请函
2015/01/31 职场文书
培训班通知
2015/04/25 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
Python利用FlashText算法实现替换字符串
2022/03/31 Python