PHPのSlim3フレームワークで、slim/twig-viewパッケージを使用時に、*.twigファイルで{{ dump(value)}}
のようにdump関数を使おうとすると、下記のエラーになる場合があります。
Type: Twig_Error_Syntax
Message: Unknown "dump" function.
解決方法
これは、\Slim\Views\Twigインスタンスのセットアップ時、Twig_Extension_DebugインスタンスをaddExtensioin()してあげれば解消します。
addExtensioin()すると「Unknown "dump" function」のエラーは無くなりますが、肝心のダンプが行われません。変数内容を画面に出すには、加えて\Slim\Views\Twigの第二引数で渡すオプションに、'debug' => trueの指定をすればよいです(debugのフラグは、本番環境ではfalse、開発環境ではtrueになるよう、環境に応じて値を変えるようにしておくとベストです)。
$container['renderer'] = function ($c) {
$view = new \Slim\Views\Twig(__DIR__ . '/../templates', [
'cache' => __DIR__ . '/../cache',
'auto_reload' => true,
'debug' => true,
]);
...
$view->addExtension(new Slim\Views\TwigExtension($c['router'], $basePath));
$view->addExtension(new Twig_Extension_Debug()); // 追加
return $view;
};
dumpの出力を見やすくするtip
dump関数の出力ですが、以下のようにpreタグで括っておくと見やすく表示されます。
<pre>
{{ dump(value) }}
</pre>
こちらもおススメ