はじめに
PHPが使用されているプロジェクトで見かけた、少し気になるタグについて紹介します。
PHPプロジェクトにアサインされた際に見かけたこのタグ → <?=
<?php echo はよく見かけますが、この <?= については知らなかったので調べてみました。
<?= タグとは?
<?= は <?php echo の短縮形(shortened echo tag) です。
例えば、以下のように書けます。
<?php echo 'この文字列を表示'; ?>
↓ 短縮形で書くと
<?= 'この文字列を表示'; ?>
このように、<?= は <?php echo を省略できる便利な書き方です。
ショートタグとの違い
<?= は「ショートタグ(short tags)」とは異なります。
PHPには、以下の2種類の短縮記法があります:
記述方法 | 内容 | short_open_tag 設定 | PHP8での扱い |
<? echo 'Hello'; ?> | ショートタグ(非推奨・削除済み) | 必須 | PHP 8.0で削除 |
<?= 'Hello'; ?> | 短縮echoタグ(常に有効) | 不要 | 引き続き使用可能 |
• ショートタグ (<?) は short_open_tag を有効にしないと動作せず、PHP 8.0 で削除されました。
• 短縮echoタグ (<?=) は PHP 5.4 以降、php.ini の設定に関係なく 常に有効 です。
つまり、 <?= はショートタグではなく、短縮echoタグ です。
まとめ
✅ <?= は <?php echo の短縮形で、PHP 5.4 以降は php.ini の設定不要で使用可能。
✅ <? のショートタグは short_open_tag を有効にしないと動作せず、PHP 8.0 で削除された。
✅ 互換性を考えると、<?php echo を使用するのが無難だが、<?= も安全に使える。
プロジェクトによって記述ルールが異なるため、どの方法を採用するかは開発チームと相談しながら決めるのがおすすめです!