概要
SlimのテンプレートエンジンにTwigを使っている場合にはデフォルトのままでは**dump()**は無効になっている。有効にするためにはTwigの公式の記述方法では駄目なため調査した結果を残しておく。
現象
設定せずに実行しようとすると下記のエラーが表示されます。
Type: Twig_Error_Syntax
Message: Unknown "dump" function.
File: 〜index.html
方法
debugの有効化
Twigをコンテナに追加しているところで下記のように設定を追加する。
$container['view'] = function ($container) {
$view = new \Slim\Views\Twig('../templates', [
'cache' => false,
'debug' => true, //追加
]);
$view->addExtension(new Twig_Extension_Debug()); //追加
return $view;
};
dumpの利用方法
テンプレートファイルに以下の記述を追加することで表示される。
<pre>
タグでくくると見やすく表示される。
全て表示する
<pre>{{ dump() }}</pre>
指定したものの表示(eはview->renderで指定したパラメータ名)
<pre>{{ dump(e) }}</pre>
番外編
フレームワークの制約などで手軽に設定できない場合にこんな方法もあると紹介されてました。
(eはview->renderで指定したパラメータ名)
{{ e|json_encode() }}