LazyOne 的答案最初对我不起作用。经过一些测试后,我发现我的问题与您如何在 PHPDoc 中声明属性有关 - 希望以下观察可以帮助其他人。这就是我必须声明我的模型类的内容:
class Custom extends CI_Model {}
在我的控制器中,我通过以下方式加载和使用模型:
$this->load->model('Custom')
$table = $this->Custom->get();
现在为了让 phpStorm 正确选择这个类,我最初在核心类上方添加了一个 PHPDoc @property 注释,正如其他人所描述的那样(在 CI_Controller 类或单独的 CI_phpStrom.php 文件上方),如下所示:
*
* @property Custom $custom
*
但是,这并没有解决问题,因为在这种情况下变量名区分大小写,我不得不写:
*
* @property Custom $Custom
*
让我上面的控制器代码正确地选择类。另一种方法是在调用函数时使用小写字母(即使您的模型声明使用大写字母也有效)
$this->load->model('custom')
$table = $this->custom->get();
如果我将模型类称为“Custom_model”,那么所有这些大写或小写的有趣事情都无关紧要 - 如果将 PHPDoc 属性变量设置为 $Custom_model 或 $custom_model ,它就不会改变......