Phpstorm Intellisense не работает должным образом с цепочкой методов + несколько классовPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Phpstorm Intellisense не работает должным образом с цепочкой методов + несколько классов

Сообщение Anonymous »

У меня есть некоторые проблемы с Phpstorm Intellisense при работе с несколькими классами.
Это структура, с которой я имею дело: < /p>

Код: Выделить всё

trait ContextTrait
{
public Subscriptions $subscription;

public function setSubscription(Subscriptions $value): self
{
$this->subscription = $value;

return $this;
}
}

abstract class Transaction
{
use ContextTrait;

protected ?int $paymentMethodId = null;

public function setPaymentMethodId(?int $value): self
{
$this->paymentMethodId = $value;

return $this;
}
}

class Invoice extends Transaction
{
protected ?string $dueDate = null;

public function setDueDate(?string $value): self
{
$this->dueDate = $value;

return $this;
}
}
< /code>
При инициализации класса$invoice = (new Invoice)
->setSubscription(...)
->setPaymentMethodId(...)
->setDueDate(...);
< /code>
У меня следующие проблемы: < /p>
[list]
[*] Intellisense (во время печати) работает только для функций -> setSubscription 
и -> setPaymentMethodid , он не работает для -> setDudate .
[*] Нажатие F12 на -> setDudate DONN Это работает, он возвращает ошибку «не может найти объявление, чтобы перейти». . < /li>
< /ol>
Если я использую другой подход к созданию экземпляров (без цепочек): < /p>

Код: Выделить всё

$invoice = new Invoice;
$invoice->setSubscription(...);
$invoice->setPaymentMethodId(...);
$invoice->setDueDate(...);
< /code>
Все работает отлично. Есть ли способ исправить это? Что показывает мне в Phpstorm: 

 [b] с использованием метода цепочки [/b]: не показывает функцию -> setDudate 
.
[/list]
< /p>
  • не использует метод цепочки : она показывает функцию -> setDudate .


Подробнее здесь: https://stackoverflow.com/questions/794 ... iple-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»