2010年5月26日水曜日

PHP タグの短縮型 (<? ?>) を使用不可能にする

色々あって、

<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<?php
foreach($itemArray as $item) {
.....
みたいなテンプレートをいじる機会があった。

このとき、<?以降がphpとして認識されてしまい、今回においては不都合があった。

なので、
・PHP: コア php.ini ディレクティブに関する説明 - Manual
http://php.net/manual/ja/ini.core.php

を参考に、short_open_tagディレクティブをoff。

・short_open_tag boolean
 PHP タグの短縮型 (<? ?>) を使用 可能にするかどうかを設定します。PHPをXMLと組み合わせて用いる 場合は、<?xml ?>をファイル中で用 いるためにこのオプションをオフにする必要があります。オンにし た場合にPHPでXMLを出力するには、例えば、次のようにします。 <?php echo '<?xml version="1.0"?>'; ?> これをオフにした場合、長い方の形式のタグ (<?php ?>) を使用する必要があります。


ということで、php.iniの中に、
short_open_tag = off
を追記しました。