PhpStorm 2022.1 is now available | The PhpStorm Blog
PhpStorm 2022.1 の新機能
PHP をメインターゲットとしている IDE である PhpStorm の 2022.1 版がリリースされました。細かい更新は上記リンクにあります。私的に今回の大きな改善点は Blade のコーティング補助機能の強化と array shape 記法の対応範囲の強化です。またまあまあ使いそうな機能として PhpStorm 製の図を PlantUML、Mermaid、draw.io 対応に変化する機能があります。これは主に誰でも読めていくらか編集できるドキュメントを作る時に使いそうです
Blade は Laravel が使用しているテンプレートエンジンであり、手軽に安全な HTML テンプレートを作れます。特に XSS 周りや CSRF あたりはこれ抜きで行うと冗長なコードになるかエスケープや決まりきったタグの短縮構文的な関数を増やすかすることになりやすいので効果が大きいです。諸々の事情で React や Vue(どちらも HTML や CSS 含めてページを構築できる JavaScript のライブラリ)を使うと面倒な時は元来のブラウザや web の機能を壊さずに web ページを作れる Blade が便利ですのでこれはありがたいです。
Blade ですが、これまではクラスについての補完機能に難がありました。以前は @php や {{}} といったブロックが離れている際、.php ファイルではできていた PHPDoc 等による補完ができませんでした。これができるようになりました。
またこれまでは Blade のディレクティブと HTML のタグが入り乱れるとフォーマットが奇妙なこと(ネストした Blade の条件式の始まりと終わりが縦に揃わないなど)になりやすかったのですが、それが改善されました。これからは遠慮なくCtrl+Alt+lで整形できそうです。
また、array shape という連想配列の形式を示すコメントを解釈する能力が上がりました、以前は次の様に一行に詰め込む必要があり、ネストしたものは解釈できませんでした。これでもコード補完機能が使えるので便利ですが、コメント自体の視認性が悪いという不便な部分も抱えていました。
/** @var array{name:string, tel:string, address: string, profileImgUrl: string, email:string, password:string} $user */ protected array $user;
これが次の様に複数行かつネストしたものも解釈できるようになりました。これにより読みやすく扱いやすくなりました。