PhpStorm не распознает класс - PullRequest
1 голос
/ 19 мая 2019

Я создаю экземпляр моего 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 распознать этот класс из неконструктивного метода?

...