VS Code で PHP Intelephense で .php ファイルをフォーマットすると <php? の終了タグである ?> が消えてしまいました。具体的には、以下のような中身が空の .php ファイルをフォーマットすると、
<php?
?>
以下のようになってしまいました。
<php?
不具合かな?と思って調べたんですが、github にこちらについての issue を発見しました。
https://github.com/bmewburn/vscode-intelephense/issues/456
どうやら仕様のようでした。.php ファイルでは<php? に対応する終了タグが必要ないとのことです。知らなかった。
むしろ、誤って終了タグの後ろに空白を入れてしまうと出力が壊れてしまう危険性があるので推奨しないとのことらしいです。
PHP Intelephense 以下のページにある PSR-2 というコーディングスタイルに準拠しているとの事で、こちらに色々とスタイルについて書いてあります。
https://www.php-fig.org/psr/psr-2/
フォーマッターや自動補間機能とかを使っていると、こういう事に気が付けて、勉強にもなって良いですよね。