Вы когда-нибудь выпускали шаблон Blade в рабочую среду, в котором случайно отсутствовала переменная или метод с опечаткой? Вы хотели избежать поиска шаблонных ошибок в рабочей среде? Ну, посмотрите Bladestan, автор rector, который добавляет статический анализ в PHPStan для шаблонов Blade.
— Tomas Votruba (@VotrubaT) March 24, 2023
Этот пакет находит все вызовы представлений и проверяет, имеют ли отображаемые переменные допустимое поведение в предоставленном шаблоне. Например, он проверит путь к файлу шаблона и убедится, что он существует, проверит переменные, отобразит шаблон и проверит наличие любых нарушений с помощью установки PHPStan.
Вот пример из сообщения в блоге автора Введение в Bladestan:
@foreach($posts as $post)
{{ $post->getContet() }}
@endforeach
В приведенном выше примере PHPStan вернет следующий отчет:
log.blade.php:17
rendered in: app/Http/Controllers/BlogController.php:20
--------------------------------------------------------------
- '#Call to an undefined method App\\Entity\\Post\:\:getContet\(\)#'
Bladestan позаботится обо всем, что вам нужно для статической проверки ваших шаблонов лезвий, и использует существующую настройку PHPStan, включая Larastan.
Чтобы начать с Bladestan, вы можете получить инструкции по установке и настройке из репозитория GitHub.