在CodeIgniter Project中,我通常使用以下命令来执行sql。
$res = $this->db->select('*')
->from('customer')
->where('customer.id', $id)
->get();
但不幸的是我的PHP Storm(5.0)不支持多个自动完成(我不知道怎么说)
例如在netbeans中如果我输入
$res = $this->db->select('*')->
它将自动弹出该功能的其余部分。但在PHPStorm它并没有畏缩。 它的工作一级自动完成。
答案 0 :(得分:28)
下载https://github.com/topdown/phpStorm-CC-Helpers/downloads
标记为纯文本
然后解压缩下载的存档,将其复制到项目根目录
这就是全部
虽然Mifas链接也是如此答案 1 :(得分:22)
回答一个非常古老但仍然相关的问题 -
我在这里找到了一个更好的解决方案 - 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也会链接 到它创建的位置,在这种情况下是索引方法 欢迎上课。
现在定义了var并显示它是。
Ctrl +单击此方法链接将为您带来该方法的权利 其中$ test被定义。
以下是我为项目添加自定义项时的一些发现:
如果您希望CI中的自定义应用程序库可用于自动完成,那么这两种情况可能会有所帮助:
<强> 1。对于自定义扩展库,例如MY_Upload扩展CI_Upload类
将@property CI_Upload $upload
替换为CI_phpstorm.php中的@property MY_Upload $upload
除了CI_Upload之外,这将使MY_Upload的所有类变量和函数名都可用于自动完成。
<强> 2。对于在CI应用程序中从头开始编写的完全自定义库 -
例如要从驻留在application / libraries文件夹中的Custom_Library.php启用自动完成,您需要在CI_phpstorm.php中添加到php文档@property Custom_Library $custom_library
答案 2 :(得分:14)