Mif*_*fas 14 codeigniter autocomplete phpstorm
在CodeIgniter Project中,我通常使用以下命令来执行sql.
$res = $this->db->select('*')
->from('customer')
->where('customer.id', $id)
->get();
Run Code Online (Sandbox Code Playgroud)
但不幸的是我的PHP Storm(5.0)不支持多个自动完成(我不知道怎么说)
例如在netbeans中如果我键入
$res = $this->db->select('*')->
Run Code Online (Sandbox Code Playgroud)
它将自动弹出该功能的其余部分.但在PHPStorm它并没有畏缩.它的工作一级自动完成.
Sab*_*bir 29
下载https://github.com/topdown/phpStorm-CC-Helpers/downloads
标记为纯文本
然后解压缩下载的存档,将其复制到项目根目录
这就是所有Mifas链接都做同样的事情
Shr*_*nik 22
回答一个非常古老但仍然相关的问题 -
我在这里找到了一个更好的解决方案 - http://validwebs.com/346/code-completion-for-codeigniter-in-phpstorm/,巧合的是它来自同一作者/项目所有者Jeff Behnke.
从其中引用,应该在Sabir的答案中继续阅读 -
标记为纯文本
Run Code Online (Sandbox Code Playgroud)/system/core/Controller.php /system/core/Model.php /system/database/DB_active_rec.php将这些文件标记为纯文本会阻止phpStorm将它们作为源索引.
我认为链接中的解决方案更好,因为它解释了所执行步骤背后的基本原理.
它还解释了我们如何在视图中实现代码完成并修复未定义的变量.
再次从原始来源引用,以便于参考和保存:
视图中的代码完成并修复未定义的变量.
示例控制器代码.
Run Code Online (Sandbox Code Playgroud)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注释.
Run Code Online (Sandbox Code Playgroud)<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类
替换@property CI_Upload $upload为@property MY_Upload $uploadCI_phpstorm.php
除了CI_Upload之外,这将使MY_Upload的所有类变量和函数名可用于自动完成.
2.对于在CI应用程序中从头开始编写的完全自定义库 -
例如,要从驻留在application/libraries文件夹中的Custom_Library.php启用自动完成,您需要在CI_phpstorm.php中添加到php文档 @property Custom_Library $custom_library