[Slim3]slim/twig-viewでdebugを使用時にUnknown "dump" function.エラーが出る時

カテゴリ: SlimFramework, 未分類 | タグ: ,

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>
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。