1

重複の可能性:
PHPの短いタグを使用できますか?

<?php
    //Some code
?>

また

<?
    //Some code
?>

最初の方法が適切な方法であることは知っていますが、PHPコードは検証されていません。それで、余分なタイピングとバイトを節約することに加えて、それは重要ですか?

更新 返信あり​​がとうございます...

  1. それらが短いタグと呼ばれていることを私は知りませんでした(したがって、重複したSOの質問が見つからなかったのはなぜですか)
  2. 短いタグを許可/禁止する特定のサーバー構成オプションがあるとは思いもしませんでした。

再度、感謝します


短いタグが無効になっているサーバーで誰かがあなたのコードを使用した場合は、そうなります。私はそれらが存在するいくつかのサーバーで作業します。それ以外は、違います。上記の理由により、短いバージョンを使用すると、スクリプトの移植性が低下します。これはあなたにとって問題かもしれないし、そうでないかもしれません。

これは完全に別の問題ですが、関連しています。PHPから特定の種類のファイルを生成しようとしている場合(XMLは私にとって最も頻繁に出てくる候補です)、短いタグを持つことが問題になる可能性があります。たとえば、次の場合、PHP構文エラーが発生します。

<?xml version="1.0" ?>

代わりに、短いタグが有効になっているサーバーに次のように書き込む必要があります。

<?php echo '<?xml version "1.0" ?>'; ?>

ああ!

4

6 に答える 6

10

短いタグが無効になっているサーバーで誰かがあなたのコードを使用した場合は、そうです。私はいくつかのサーバーを使用しています。それ以外は、いいえ。上記の理由により、短いバージョンを使用すると、スクリプトの移植性が低下します。これはあなたにとって問題になる場合とそうでない場合があります。

これはまったく別の問題ですが、関連しています。PHP から特定のタイプのファイルを生成しようとしている場合 (XML が最も頻繁に出てくる候補です)、短いタグを使用することが問題になる可能性があります。たとえば、次の場合、PHP 構文エラーが発生します。

<?xml version="1.0" ?>

代わりに、短いタグが有効になっているサーバーで次のように記述する必要があります。

<?php echo '<?xml version "1.0" ?>'; ?>

ガッ!

于 2009-10-20T06:52:34.523 に答える
4

プロジェクトが異なるサーバー(たとえば、オープンソースソフトウェア)に展開される可能性がある場合は、常に使用するのが最善です。<?php

ただし、あなたが私のようで、常に最大限の移植性を追求し<?phpている場合は、ソフトウェアがサーバーから離れるとは思わない場合でも使用してください。ほとんどのサーバーでは、短いタグが有効になっています。

ただし、短いタグが無効になっていて、それらを使用すると、PHPは(ドキュメントルートの下にある場合)世界に公開されます。

于 2009-10-20T06:54:48.440 に答える
0

違いはありませんが、それは好みの問題だと思います。さらに、なぜそれが重要なのですか?もう3バイトです。

編集:

php.iniで速記を有効にする必要があると言うのを忘れました

于 2009-10-20T06:52:35.757 に答える
0

閉じ括弧は必須ではありません

于 2009-10-20T06:53:30.917 に答える
0

一部のシステムでは、short_open_tagsのデフォルトオプションがオフになっているため、後者は機能しませんが、前者は機能するため、2番目のオプションを使用するとWebサイトが完全に破損する可能性があります。個人的には、設定を上書きして2番目を使用するのが好きです。

于 2009-10-20T06:54:02.040 に答える
0
<? ?>

短いタグです。短いタグがオフの場合は機能しません。

于 2009-10-20T08:05:52.863 に答える