详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
作者:jingxian 发布时间:2023-09-06 14:34:52
1、设置字体、风格
代码主题选择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+左箭头/右箭头
猜你喜欢
- 本文详细介绍了asp中如何使用sql语句删除数据库中的记录,初学asp者来看看!1,首先要明确删除哪条记录无非还就是SQL语句了,比如对应到
- 来炫耀一下,谁看得懂我写的加密算法写了一整天了,这个代码用于ajax提交,要求就是加密后内容不能变得过长,加密解密需要效率高,至于安全性,被
- 主要利用了XMLHTTP的一些方法和属性来获取服务器的信息。 以下是全部源代码: &
- ASCII码键盘ASCII 码键盘ASCII 码键盘ASCII 码键盘27ESC32SPACE33!34"35#36$37%38&
- 表单验证做网站程序多多少少都会碰到,其中emai地址的合法性验证也算是一个典型的例子,网页表单的验证我们一般是先在客户端使用javascri
- SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研
- 本文实例讲述了PHP实现的DES加密解密类定义与用法。分享给大家供大家参考,具体如下:今天写App接口的时候需要传递加密数据给APP端,于是
- 一.ASP使用SQL查询数据库方法: 方法1 Set&nbs
- 概述我在教学和实际设计中的一些心得。就不长篇大论了!让大家省些时间,捞干的。尽量通俗易懂。想知道怎样设计标志,就要知道什么是标志?标志:外来
- 阅读上一节:无序列表信息有时候是无序归纳的,有的却有着明确的顺序,在上一篇也提到了。那么简单的来想一下身边有哪些事物是有先后顺序的:操作步骤
- 什么是ASP,它能干什么? 一、什么是ASP? 从字面上说,ASP包含三方面含义: 1、Active:ASP使用了Microsoft的Act
- 第一种情况是返回的游标是某个具体的表或视图的数据,如:SQL-Code:CREATE OR REPLACE P
- 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特
- 以下为测试例子。 1.首先创建两张临时表并录入测试数据: 代码如下:create table #temptest1 ( id i
- 需求背景:用户希望他登录之后,浏览器就帮他记住登录状态,这样他就不用每次进入的时候,都需要登录一次。session过期时间:如果我们没有设置
- 代码如下:<% myDSN="DSN=xur;uid=xur;pwd=xur"mySQL="s
- 近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此
- 协程协程简单来说就是一个更加轻量级的线程,并且不由操作系统内核管理,完全由程序所控制(在用户态执行)。协程在子程序内部是可中断的,然后转而执
- 摘 要: 恢复丢失的数据库文件在很大程度上取决于所采用的备份策略。本文从恢复的灵活性出发,对Oracle8数据库的备份及恢复策略进行了探讨,
- javascript上下滑动广告效果 参数说明:客服果果(