2016-04-02 14 views
-2

PHP 5.3で書かれた古いレガシーコードがあります。このコードで<の違いは? <?php

すべてのPHPブロックは、

<? some_php_code_here ?> 

と私のApacheはちょうどそれらを無視するようなものですしばらく

<?php some_php_code_here ?> 
古いコードは無効ブロックが含まれているのはなぜ

、そしてなぜこの古いコードの作品で良い作品古いサーバーで良い?これは、PHPの短いタグここ

と呼ばれる愚かな質問

+1

で、 ''で動作するには、 'php.ini'で' shorttag'を有効にする必要があります。しかし、それはお勧めしません。 –

+1

'<?'は 'php.ini'で' short_opentag'を 'on'に設定した場合にのみ機能します。一般的に '<?php'が推奨されます。 – paskl

+2

使用しているツールのドキュメントを読むのに役立つかもしれません。ドキュメンテーションを調べずにプログラムすることはできません。少なくともいくらか効率的で成功した方法ではない。 – arkascha

答えて

1

<?のために申し訳ありませんので、多くの特殊記号で何かを、Googleには本当に難しいのは、manualはそれが

PHPについて言いたいことがあるものですまた、短い公開タグ<を許可しますか? ( は、short_open_tag php.ini 設定ファイルディレクティブを使用して有効にした場合、または --enable-short-tagsオプションを指定してPHPを設定した場合にのみ使用できます)。

あなたは<?php ini_set('short_open_tag',1) ?>

で、実行時にそれらを有効にすることができます。しかし、あなたがそうするならば、あなたはそう<?xml ?> のようなインラインXMLを使用することができなくなり、代わりにあなたがしたよう

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

を使用することができます私がよく使うサイドノート:

<a href="<?= "$hello_url" ?>"><?= "Hello world" ?></a> 

<?= 'foo' ?> i <?php echo 'foo' ?>に相当し、PHPのバージョン5.4以来、私の意見

にテンプレートファイルでよりクリーンに見える、<?=のは、もはやshort_open_tagに縛られていないが、あなたがあなたのコードを実行する可能性がある場合は注意しなければならないので、その前にそれがありました古いバージョンのphpは

関連する問題