Smartyコンパイル結果が「null」になった時に疑うべきこと
HTML構造は問題ないはずなのに、Smartyコンパイル結果が「null」になる(厳密には、真っ白画面に文字列「null」のみ表示される)事象と遭遇したことはありますか?
私はあります。ええ、つい先日。
この事象ですが、「"文字化けを含む値"をSmarty変数にセットしたこと」が原因でした。
具体的には、たとえば「"下記配列の特定の値"をSmarty変数にセットしたい場面」において、「"$arrAnimalに存在しない値($arrAnimal['rabbit']とか)"を誤ってSmarty変数にセットすること」で発生します。
<?php
$arrAnimal = array(
'dog' => 'ポチ',
'cat' => 'たま'
);
?>
配列の規模が大きくなるほど、こういうキー指定ミスが起こる可能性は高くなるので、将来の再遭遇に備えて、この覚書を残しておきます。