[英]How to enable Auto Complete in PHPStorm for CodeIgniter framework
在CodeIgniter Project中,我通常使用以下命令来执行sql。
$res = $this->db->select('*')
->from('customer')
->where('customer.id', $id)
->get();
但不幸的是我的PHP Storm(5.0)不支持多个自动完成(我不知道怎么说)
例如在netbeans中如果我键入
$res = $this->db->select('*')->
它将自动弹出该功能的其余部分。 但在PHPStorm它并没有畏缩。 它的工作一级自动完成。
下载https://github.com/topdown/phpStorm-CC-Helpers/downloads
标记为纯文本
然后解压缩下载的存档,将其复制到项目根目录
这就是所有Mifas链接都做同样的事情
回答一个非常古老但仍然相关的问题 -
我在这里找到了一个更好的解决方案 - http://validwebs.com/346/code-completion-for-codeigniter-in-phpstorm/ ,巧合的是它来自同一作者/项目所有者Jeff Behnke。
从其中引用,应该在Sabir的答案中继续阅读 -
标记为纯文本
/system/core/Controller.php /system/core/Model.php /system/database/DB_active_rec.php
将这些文件标记为纯文本会阻止phpStorm将它们作为源索引。
我认为链接中的解决方案更好,因为它解释了所执行步骤背后的基本原理。
它还解释了我们如何在视图中实现代码完成并修复未定义的变量。
再次从原始来源引用,以便于参考和保存:
视图中的代码完成并修复未定义的变量。
示例控制器代码。
public function index() { // Example view vars $data['test'] = 'Testing vars in CodeIgniter! This is from $data["test"].'; $this->load->view('welcome_message', $data); }
我们在CI方式的视图中添加了一个数据数组。 数组中的每个索引都是另一个变量。
风景…
在phpStorm中,$ test将突出显示为未定义的var。 要解决这个问题,我们使用phpDoc注释。
<p style="font-weight: bold;"> <?php /** * $data array holds the $test value * * @see Welcome::index() * @var Welcome $test */ echo $test; ?> </p>
以这种方式记录不仅修复了phpStorm错误/警告,还为我们提供了$ test的文档弹出窗口。 @see也将链接到它创建的位置,在本例中是Welcome类中的索引方法。
现在已定义var并显示它。
按住Ctrl +单击此方法链接将使您正确定义$ test的方法。
这里有一些我自己的发现,同时为我的项目添加自定义:
如果您希望CI中的自定义应用程序库可用于自动完成,那么这两种方案可能会有所帮助:
1.对于自定义扩展库,例如MY_Upload,扩展CI_Upload类
在CI_phpstorm.php中用@property @property MY_Upload $upload
替换@property CI_Upload $upload
@property MY_Upload $upload
除了CI_Upload之外,这将使MY_Upload的所有类变量和函数名可用于自动完成。
2.对于在CI应用程序中从头开始编写的完全自定义库 -
例如,要从驻留在application / libraries文件夹中的Custom_Library.php启用自动完成,您需要在CI_phpstorm.php中添加到php文档@property @property Custom_Library $custom_library
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.