Я создаю экземпляр моего 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 + щелчок)
Даже если бы я мог напечатать подсказку и решить проблему:
/**
* @var $socket Socket
*/
protected $socket;
Iвоспринимайте это как ненужный кодовый беспорядок.Есть ли способ для PhpStorm распознать этот класс из неконструктивного метода?