TGViewer
Beer::Code🍺 Beer::Code🍺 @beerphp · 3.64K subscribers
Post #23 1.88K
Статический анализ. Psalm.

Если в 2021 вы еще не используете статические анализаторы, то срочно, нет, немедленно начинайте это делать :) Они решают просто миллион проблем, позволяют выполнять и контролировать десятки вопросов, но обо всём по порядку.

Что делают эти ваши анализаторы?

Анализируют текст программы и проверяют её на типичные (и не очень ошибки). При этом сам код не запускается (!). Примеры проверок, которые при этом выполняются:

• код не содержит синтаксических ошибок
• все классы, методы, функции, константы существуют
• переменные существуют
• в PHPDoc подсказки соответствуют действительности.
• проверяются неиспользуемые аргументы, переменные и свойства
• проверка типов данных

Круто, с чего начать использование Psalm?

После установки с помощью composer достаточно запустить команду

./vendor/bin/psalm --init

Которая cгенерирует следующий файл.

И вот момент истины, на нашем существующем проекте мы запускаем

./vendor/bin/psalm

И видим 1125 ошибок, которые очень лень править. У многих на этом заканчивается внедрение статического анализатора :) Но выход есть.

Заботливые разработчики psalm сделали команду

./vendor/bin/psalm --set-baseline=your-baseline.xml

Которая запомнит текущие ошибки в вашем проекте и запишет их в указанный файл. Дальше вы можете спокойно запускать проверку и контролировать новый код, который пишете в вашем проекте.

Чтобы обновить состояние baseline достаточно выполнить:

./vendor/bin/psalm --update-baseline

Конечно не стоит забывать и о старых ошибках, которые теперь можно постепенно исправлять не мешая основной разработке.

#PHP #psalm #junior #source
  • 👍 3
More from @beerphp
  1. Sep 27, 2026Сувора QA Конференція: AI в тестуванні Друзі, буду спікером на онлайн конфі, котра стартує…
  2. Sep 22, 2026Anthropic випустила Opus 5.5 За словами Anthropic, на більшості задач вона працює на рівні…
  3. Sep 21, 2026Доречі, цього тижня буду проводити НОВИЙ воркшоп Harness Engineering - 24 і 26 вересня. Од…
  4. Sep 21, 2026Хочу поділитись своєю мотивацією На тому тижні був воркшоп Agentic Engineering Workflow Ко…
  5. Sep 20, 2026Post #198
  6. Sep 14, 2026Не можу не поділитись, вчора отримав такий відгук Це прям паливо заради якого хочеться про…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →