PhpStorm показывает использование методов __invoke

У меня проблемы с определением использования метода __invoke в PhpStorm.

Пример класса, который используется с методом __invoke php:

class InitNewsletterSubscribedCustomerUseCase
{    
    /**
     * @param CustomerId $id
     * @throws CustomerIsValidatedException
     */
    public function __invoke(CustomerId $id)
    {
...

И хотелось бы, как и во всех методах php, знать, где он используется в проекте с PhpStorm.

Переменная знает тип, но PhpStorm не знает, что он знает, что он выполняет этот волшебный метод «__invoke».

 /** @var InitNewsletterSubscribedCustomerUseCase $useCase */
 $useCase = $this->useCase;
 try{
     $useCase($customerId);
  }
  catch (CustomerIsNewsletterSubscribedException $ex)

Есть ли для этого специальный phpdoc или примечание?

PD: Я использую версию PhpStorm 2018.3.3.


person fermin    schedule 04.02.2019    source источник
comment
Согласно этому билету (youtrack.jetbrains.com/issue/WI-34223) должно быть исправлено только в 2019.1 (в настоящее время находится на стадии EAP). Попробуйте сборку EAP: jetbrains.com/phpstorm/eap   -  person LazyOne    schedule 04.02.2019
comment
Спасибо, я видел это в выпуске confluence.jetbrains.com /display/PhpStorm/ опубликуйте исправление!   -  person fermin    schedule 05.02.2019


Ответы (1)


Согласно WI-34223, это должно быть исправлено в 2019.1 (в настоящее время на стадии EAP).

Попробуйте сборку EAP со страницы https://www.jetbrains.com/phpstorm/eap/. .

person LazyOne    schedule 05.02.2019