スポンサーリンク

【php】xmlを出力する際にはphpの短縮型タグ(short_open_tag)に注意

プログラミング全般

phpは開始タグと終了タグをつかってその内側にコードを記述します。

<?php
  echo 'Hello world!';
?>

開始タグは<?phpが使われるほか、echoの短縮形として<?=を使うことも可能です。

<?= 'Hello World!' ?>

上記の2点はよく使われると思いますが、意外に忘れがちなのが<?php自体の短縮形として<?も利用できるようになっているということ。

<?
  echo 'Hello World!';
?>

ただし、この記述はphpのすべての環境で使えるわけではなく、php.iniの設定などで有効化されている必要があります。

<?の短縮型は環境によって無効にされていることも多く、作成したコードの互換性が無くなってしまうリスクもあるため、通常は<?phpもしくは<?=を利用することが推奨されます。

またこの記述の注意点として、xml文書の宣言にも同様の<?~?>記述ルールがあるため、xml形式のデータの出力するときなどに問題が起きる場合があります。

<?php

...

?><?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
...
</urlset>

<?は上記のようなxml文書形式の取り扱いなどの問題もあるため、php.iniの設定で短縮型の利用自体をオフにしておいたほうが確実かと思います。

phpで<? ?>の短縮型タグを無効にする

phpで<?の短縮型タグを無効にするには以下の設定を行います。

php.iniで無効化する

php.iniを開き、以下の記述を追記します。

short_open_tag = Off

WordPress&Cocoonのお悩みにお答えします

クラベルではWordPressのブログサイト構築、Cocoonテーマの導入やカスタマイズに関するご相談を承っております。

お困りの方はぜひ一度お問い合わせください。また、現在ココナラをつかったサービス出品も始めてみました。お悩みおひとつの解決からお手軽にお申込みできますので、こちらもぜひあわせてご覧ください。

最短当日★ワードプレスの疑問質問トラブル解決します ご相談無料!初心者歓迎!優しく丁寧、徹底的にサポートします!
Cocoonテーマサイト構築&カスタマイズします ご相談無料★公式サポート対象外もOK!プログラミングはお任せ
プログラミング全般Web開発
この記事は良かったですか?
最新情報をお届けします。
クラベル(Cravel)をフォローする
スポンサーリンク
この記事を書いた人
クラベル(Cravel)

Webサイト構築、Wordpressのカスタマイズやphpプログラミングなどやってます。BPM(ビジネスプロセス管理)、BPR(業務改革)コンサルなどにも従事。世の中すべてピタゴラ装置をモットーに自動化します。ブログは省エネ運営中。Cocoonカスタマイズやゲーム、ガジェットの話題など。

プロフィール詳細、お仕事のご依頼はこちら

クラベル(Cravel)をフォローする
クラベル

コメント

タイトルとURLをコピーしました