我正在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是否可以通过非构造方法识别该类?