Laravel Blade 模板静态分析
你是否曾经发布过 Blade 模板到生产环境,模板中意外缺失了一个变量或者方法有拼写错误。你是否想避免在生产环境中出现模板 bug?那就看看 rector 的作者的 Bladestan,它在 PHPStan 中为 Blade 模板添加了静态分析。
Can @phpstan statically analyse @laravelphp templates?
Hell yeah 😎🥳️https://t.co/m6txBPzwWh— Tomas Votruba (@VotrubaT) March 24, 2023
此包查找所有视图调用,并查看渲染的变量在提供的模板中是否具有有效行为。例如,它将检查模板文件路径并确保其存在,检查变量,渲染模板,并使用 PHPStan 检查是否有任何违规行为。
以下是作者在博客文章中介绍 Bladestan 的一个例子:
下面的例子来自于作者介绍 Bladestand 的博文中:
@foreach($posts as $post)
{{ $post->getContet() }}
@endforeach
上例中,PHPStan 会返回如下报告:
blog.blade.php:17
rendered in: app/Http/Controllers/BlogController.php:20
--------------------------------------------------------------
- '#Call to an undefined method App\\Entity\\Post\:\:getContet\(\)#'
Bladestan 负责静态检查 Blade 模板所需的一切,并使用现有的 PHPStan 设置,包括 Larastan。
要开始使用 Bladestan,您可以从 GitHub repo 获取安装和设置说明。