Решил я подключить к своему проекту на PHP 7.4 phpstan.
Анализ моего кода командой
./vendor/bin/phpstan analyse --paths-file=./phpstan.dist --level=max
приводит к ошибке
------ ----------------------------------------------------------------------
Line src/Entity/User.php
------ ----------------------------------------------------------------------
11 Property App\Entity\User::$roles type has no value type specified in
iterable type array.
------ ----------------------------------------------------------------------
Проблемный код:
class User implements UserInterface
{
...
private array $roles = [];
...
}
Помогите, пожалуйста, выяснить проблему.
Анализатор вам говорит, что не может определить тип элементов массива.
Т.к. PHP не позволяет объявлять типизированные массивы, то нужно воспользоваться объявлением подсказки
class User implements UserInterface
{
...
/**
* @var RoleType[]
*/
private array $roles = [];
...
}
(обратите внимание, что комментарий начинается с трех символов /**)
Вместо RoleType подставьте тот тип элементов, который у вас используется
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники