使用get_instance()时自动完成Codeigniter

jus*_*mer 5 php codeigniter phpstorm codeigniter-3

在PHPStorm中,通过向config/autocomplete.php添加包含属性的文件,我已经能够使用Codeigniter进行自动完成.PhpStorm能够读取此文件,并允许我快速导航到该功能并具有自动完成功能.在autocomplete.php中,我可以拥有@property Account_model $Account_model,然后每当我使用时$this->Account_model->xxx,自动完成工作.

使用时get_instance(),所有这些功能都会消失.例如,在辅助类中,我必须使用$CI = & get_instance();,然后$CI->Account_model->xxxx.在以这种方式引用库时,如何使自动完成工作?

[注意:这只是一个简单的例子.我的真正用法是使用PHPUnit,但解决上面的例子将允许PHPUnit也能正常工作.

Mac*_*eeE 5

要重新绑定get_instance()到 IDE\xe2\x80\x99s 自动完成功能,您需要通知它 \xe2\x80\x99s 是 CodeIgniter 的本机控制器的实例。这是CI_Controller

\n\n
/**\n * Example MyClass Library within\n * /application/libraries/\n**/\nclass MyClass {\n\n    /**\n     * @var CI_Controller\n    **/\n    private $ci;\n\n    /**\n     * Init MyClass \n    **/ \n    public function __construct() \n    {\n        $this->ci =& get_instance();\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n