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はこれで解決できる。