phpで長文文字列を使用する時はヒアドキュメントを推奨



PHPでユーザの状態によってメッセージを変えたり、長いSQL文を書く時があります。
そんな時に使用したいのが、ヒアドキュメントです。

phpで良く長文を使用する場所としてはSQL文です。
ヒアドキュメントを使わないと面倒なのです。
下記は例として簡単なSQL文を使用していますが、これが100行以上になってくると涙が出そう・・・
SELECT
    *
FROM
    TEST

PHPにすると・・・
$sql = "";
$sql .= "SELECT ";
$sql .= " * ";
$sql .= " FROM ";
$sql .= " TEST ";
はっきり言って整備性がありません・・・orz
SQLだけを抜いてチェックするのも一苦労ですし、新たに改変を行う時にも手間になってしまいます。


ヒアドキュメントにすると・・・
$sql =<<<EOM
SELECT
    *
FROM
    TEST
EOM;
これで変数がすっきり!
ちなみにヒアドキュメント内では変数の展開やクラスメソッドも使用が可能です。

変数の展開
$str = "php";
echo <<<EOM
this program {$str}
EOM;
実行結果
this program php
クラスメソッドの使用
class hoge{
    function getStr(){
        return "hoge class php";
    }
}
$hoge = new hoge();
echo <<<EOM
this program {$hoge->getStr()} 
EOM;
実行結果
this program hoge class php

{}は変数の時は使用しないで展開されますが、メソッドを使用する時{}がないと文字列扱いされてしまうので注意してください。


ヒアキュメントを使用すると長文文字列を使用する時の可読性が飛躍的にあがります。
整備性も上がるので後々、改修する時ありがたいです。

中々使用する人が居ないので出来れば普及をして頂きたいです。

コメントを残す