だ。ログ。

開発とかスノボとかやきうとか。

EC-CUBE3のindex_dev.phpで出る変数 is not definedの消し方

これはtwigに設定された変数すべてに言えるのだが、変数が未定義で同一のテンプレートを使った場合によく見かける。
別にエラーではないし、他にデバッグしたい事があるのに、index_devでこのエラーを指摘されてよくイラつく。

例 コントローラ

        return $app->render('Hoge/fuga.twig', array(
		'hogehoge' => $hoge,
        ));

この$hogeが明示的に設定されていれば問題にならないが、PHPの性質上未定義でもエラーになる事がないので$hogeの有無に関してを制御する事はない。
もっと言えば変数$hogeを全ページに設定するのはもっと面倒くさい。
と言うワケでテンプレートをに以下の判定を入れる。

{% if hoge is defined %}
{% endif %}

hogeと言う変数が定義されていれば」と言う条件を加える事で、未定義の場合は処理をスキップする。
index_dev.phpを利用してのデバッグ時に is not definedはこれで解決できる。