情報はこちら公式文書によると:
PHP で使用できる開始タグと終了タグのペアは 4 つあります。そのうちの 2 つ、
<?php ?>
と<script language="php"> </script>
は常に使用できます。他の 2 つはショート タグと ASP スタイル タグで、php.ini 構成ファイルからオンとオフを切り替えることができます。そのため、ショート タグと ASP スタイル タグは便利だと感じる人もいますが、移植性が低く、一般的には推奨されません。
私の経験では、ほとんどのサーバーでは短縮タグが有効になっています。
<?=
入力するよりはるかに便利です
<?php echo
プログラマーの利便性は重要な要素ですが、なぜ推奨されないのでしょうか?
ベストアンサー1
PHPのショートタグ(<?
)とショートハンドエコータグ(<?=
)を明確に区別する必要があります。
前者は、PHPコーディング標準ほとんど常識から外れています。なぜなら、サポートされていない (そして有効にできない) サーバーにコードを移動する必要がある場合、面倒だからです。おっしゃるとおり、多くの共有ホストはショートタグをサポートしていますが、「多く」がすべてではありません。スクリプトを共有する場合は、完全な構文を使用するのが最善です。
一方、短縮形の echo タグは<?=
無効にすることはできないため、使用しても問題ありません。
確かに、<?
プログラマーにとってはそれがより簡単です<?php
が、毎回同じフォームを使用する限り、一括検索と置換を行うことは可能です。
読みやすさを理由にはまったく考えていません。真剣に取り組む開発者のほとんどは、構文の強調表示のオプションを利用できます。
ThiefMasterがコメントで述べているように、PHP 5.4以降では、<?= ... ?>
ショートタグの設定に関係なく、タグはどこでもサポートされます。. これは、移植可能なコードで使用しても安全であることを意味しますが、PHP 5.4 以降に依存することを意味します。5.4 より前のバージョンをサポートしたいが、ショートタグを保証できない場合は、 を使用する必要があります<?php echo ... ?>
。
また、知っておく必要があるのはASP タグ <% 、 %> 、 <%= 、およびスクリプト タグは PHP 7 から削除されました。したがって、長期的に移植可能なコードをサポートし、最新のツールに切り替えたい場合は、コードのその部分を変更することを検討してください。