Как явно указать в phpDoc тип элемента массива?

Здравствуйте!
Подскажите пожалуйста, как решить такую проблему, есть метод:

public function create(Request $request, Application $app){
        $data = json_decode($request->getContent(), true);
        $app['user']->setData($data);
        ...
}


PhpStorm ни в какую не хочет определять, что $app['user'] имеет тип User, пробовал задавать ему по разному, но не хочет. Рабочий вариант:
/**
*@var User $user
*/
$user = $app['user'];
$user->setData($data);


но он не подходит, так как таких мест очень много, и всё перелопачивать нет возможности, хочется указать один раз просто, куда phpStorm'у смотреть и где искать метод или объект и писать дальше. Вариант с изменением Application тоже не подходит, так как Application implements ArrayAccess и уже всё написано для работы с таким доступом как к массиву.

Есть ли варианты решения проблемы через phpDoc?
  • Вопрос задан
  • 781 просмотр
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
Можно через .phpstorm.meta.php:
namespace PHPSTORM_META {
    $STATIC_METHOD_TYPES = [
        \Application => [
            "user" instanceof \User,
        ]
    ];
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы