Программирование {BookFlow} Публикуют лекции и книги по программированию, видеоуроки, доклады с IT конференций.
<psalm>
....
<projectFiles>
<directory name="src"/>
<ignoreFiles>
<directory name="src/Module1"/>
<directory name="src/Module2"/>
<directory name="src/Module3"/>
</ignoreFiles>
</projectFiles>
....
</psalm>
Этот способ имеет ещё один недостаток: наверняка вы до сих пор что-то правите в этих модулях, и тогда ваш новый код в старых модулях тоже не будет проанализирован псалмом. Но вы же не этого добивались?
psalm-baseline
У псалма есть решение для таких случаев — baseline. Данный способ найдёт и сохранит все текущие ошибки в конкретный xml файл и будет их игнорировать при анализе. Также вам не придётся игнорировать директории и глобально подавлять ошибки. Зато новый код в любых директориях — новых и старых — будет успешно проанализирован псалмом. Чтобы настроить baseline, вам необходимо выполнить следующую команду в вашем проекте:
./vendor/bin/psalm --set-baseline=psalm-baseline.xml
У вас в проекте появится psalm-baseline.xml файл, который необходимо закоммитить. Теперь вы сможете спокойно использовать psalm в CI. Только не забывайте в свободное время править ошибки в старых модулях. Когда вы поправите часть из них, обновите baseline:
./vendor/bin/psalm --update-baseline
И так до тех пор, пока вы не избавитесь от всех ошибок, либо не удалите модули, заменив их новыми.
👉 @php_lib