doufuhao0566 2018-07-09 05:26 采纳率: 100%
浏览 46
已采纳

Zend Framework 1.12。 是否可以在函数init()中定义对象并将其用作全局对象

I cannot use autocomplete if I call an object inside function init() like this:

class IndexController extends HiNStudio_Controller {

private $model_obj;

public function init() {
    $this -> model_obj = new Default_Model_Account();
}

public function indexAction() {
    $this -> model_obj ->  //(it should be something autocomplete here)
}

pic

The code is still working if I call correct function name. Ex:

public function indexAction() {
    $this -> model_obj ->  checkLogin();
}

Is there any case to display autocomplete function instead of call Object inside each function like this:

class IndexController extends HiNStudio_Controller {

private $model_obj;

public function init() {

}

public function indexAction() {
    $this -> model_obj = new Default_Model_Account();
    $this -> model_obj ->  //(autocomplete is working here)
}

pic

  • 写回答

2条回答 默认 最新

  • douzhang1364 2018-07-09 07:58
    关注

    Typehint your variable with PHPDoc comment.

    /** @var Default_Model_Account */
    private $model_obj;
    

    PhpStorm looses variable type if it's not initialized in constructor or not used in the same method where initialized.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突