详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)

作者:jingxian 时间:2023-09-06 14:34:52 

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,ci,代码提示
0
投稿

猜你喜欢

  • 使用watch监听对象里面值的变化

    2024-06-07 15:22:10
  • asp如何让用户也能修改密码?

    2010-05-13 16:41:00
  • 一些实用的sql语句

    2024-01-23 10:14:14
  • 一行命令搞定node.js 版本升级

    2024-05-13 09:30:14
  • 利用Python制作百度图片下载器

    2021-02-25 09:17:55
  • jupyter notebook读取/导出文件/图片实例

    2022-01-05 00:28:45
  • 用sql脚本创建sqlserver数据库触发器范例语句

    2024-01-27 16:42:14
  • 深入SQL Server 跨数据库查询的详解

    2024-01-25 13:25:42
  • Python实现对excel文件列表值进行统计的方法

    2022-08-08 17:42:23
  • python中的插入排序的简单用法

    2023-09-30 07:57:51
  • i++循环与i-–循环的执行效率(递增与递减效率)

    2023-05-28 03:07:40
  • django实现用户注册实例讲解

    2022-06-23 08:05:53
  • 如何将服务器上的python代码通过QQ发送回传信息(附实现方法)

    2022-04-24 04:27:08
  • Python 编程操作连载之字符串,列表,字典和集合处理

    2021-08-16 11:27:54
  • SqlServer中的日期与时间函数

    2024-01-18 03:25:47
  • numpy.random模块用法总结

    2023-05-11 00:48:19
  • Linux mysql安装修改root密码服务

    2010-10-14 13:59:00
  • python+selenium 点击单选框-radio的实现方法

    2023-07-11 01:51:54
  • 一文带你学会Python Flask框架设置响应头

    2023-04-16 03:11:37
  • golang 在windows中设置环境变量的操作

    2024-04-28 09:12:29
  • asp之家 网络编程 m.aspxhome.com