PhpStorm无法识别课程

时间:2019-05-19 07:20:07

标签: php phpstorm

我正在Socket构造函数中实例化我的XmppClient类:

public function __construct(Options $options, $sessionId = null)
{
    ...

    try {
        $this->socket = new Socket($options, $this->responseBuffer);
    } catch (DeadSocket $e) {
        $this->options->getLogger()->error(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
    }

    ...
}

作为回报,当从XmppClient类中的其他方法调用套接字方法时,一切看起来都很正常:

public function send(string $xml)
{
    $this->socket->send($xml);
}

但是,如果我将套接字创建代码移至单独的方法,以便拥有这样的构造函数:

public function __construct(Options $options, $sessionId = null)
{
    ...
    $this->initSocket($options);
    ...
}

我不再让PhpStorm认识到send()Socket类方法(我在它下面有一个花样,不能用CMD + click跟随该方法)

即使我可以键入提示并解决问题:

/**
 * @var $socket Socket
 */
protected $socket;

我认为这是不必要的代码混乱。 PhpStorm是否可以通过非构造方法识别该类?

0 个答案:

没有答案