Laravel, PHPStorm и Autocomplete

dakata__92

Super Moderator
Колеги, има ли начин да накарам Storm-а или да пренапиша метода по такъв начин, че да успявам да си извадя autocomplete на класът?
Код:
return [
    'managers' => [
        'server' => App\Manager\Server::class,
        'money' => App\Manager\Money::class,
        ]
];
Модел:
Код:
public function getManager(String $alias = '')
    {
        $managers = config('kernel.managers');
        if (!$managers) {
            return false;
        }
        if (empty($alias)) {
            foreach ($managers as $alias => $manager) {
                if (!isset($this->managers[$alias])) {
                    $this->managers[$alias] =  new $manager;
                }
            }
            return (object) $this->managers;
        }
        if (!isset($managers[$alias])) {
            return false;
        }
        if (!isset($this->managers[$alias])) {
            $this->managers[$alias] =  new $managers[$alias];
        }
        return $this->managers[$alias];
    }

Използвам го по двата начина:
Код:
$s = $this->getManager('server');
$m = $this->getManager()->money;

Тъй, като използвам alias Storm-а не ми зарежда autocomplete с подсказки за наличните методи от извиканата инстанция. Мога ли да си променя така кода, че едитора да разпознае и проследи инстанцията за да ми върне подсказките?
 
Би трябвало ако опишеш правилно док блока, сторма да ти изкара адекватна подсказка.
 
joTunkiq каза:
Би трябвало ако опишеш правилно док блока, сторма да ти изкара адекватна подсказка.

Как да го опиша правилно? Инстанциите идват от конфигурацията. Може ли да ми дадеш насоки?
 
dakata__92 каза:
joTunkiq каза:
Би трябвало ако опишеш правилно док блока, сторма да ти изкара адекватна подсказка.

Как да го опиша правилно? Инстанциите се създават по име идващо от конфигурацията. Може ли да ми дадеш насоки?
 
Можеш с Psalm да опишеш това, виж тук: https://psalm.dev/r/06c0e1e2b4
Но за да свържеш файла, където са описани mapping-ите, със Сторма най-вероятно без допълнителен плъгин няма да стане.

Psalm: Conditional love
Psalm: Enums
 

Горе