1

PHP DegugBar には、レンダリングされた Twig テンプレートを表示するための拡張機能があります。

私はここでデモを見つけましたが、彼らがどのようにそれを行うかを見ると、彼らは実際に純粋なPHPでレイアウトをレンダリングし、独自のレイアウトシステムを持つTwigのポイントを打ち負かしています.

問題は catch-22 です: デバッグバーを Twig 変数にレンダリングして、Twig レイアウトに配置できるようにする必要がありますが、デバッグバーを既にレンダリングしている場合、私がTwig テンプレートをレンダリングしています!

だから、私はこれを行う方法がわかりません。何か案は?

4

3 に答える 3

0

カスタム Twig 拡張機能を作成して、デバッグ バーのレンダリングに必要なコードをレンダリングします。{{ debug_bar() }}このようにして、たとえば、デバッグ バーをレンダリングすることができます。

class DebugBarExtension extends \Twig_Extension
{
    public function getFunctions()
    {
        return [
            new \Twig_SimpleFunction('debug_bar', [$this, 'renderDebugBar']),
        ];
    }

    public function renderDebugBar()
    {
        // ... render and return the debug bar
    }
}
于 2016-01-23T10:12:24.717 に答える