[英]How to add PHP DebugBar to Twig layout?
創建一個自定義的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
}
}
\\DebugBar\\JavascriptRenderer::renderOnShutdownWithHead
可能有用。
例如,按照@Wouter的建議創建一個Twig函數,但是與其立即渲染調試欄,不如將其注冊為稍后渲染,就在關機之前。
我不確定為什么要使用Twig渲染DebugBar,除非您嘗試測量渲染性能或類似的性能(對於DebugBar IMO來說並不需要,因為它永遠不會進入生產狀態)。
無論如何,您都不需要特殊的插件, 工件 ,類或代碼來在Twig呈現的頁面中顯示DebugBar。 您可以簡單地執行以下操作:
1)在用於將變量發送到Twig的Array中添加DebugBar渲染的結果( Head和Body )。 例:
$template_vars['debugbar_Head'] = $debugbarRenderer->renderHead();
$template_vars['debugbar_Body'] = $debugbarRenderer->render();
2)在模板中添加變量:
<head>
-- other stuff ---
{{ debugbar_Head | raw }}
</head>
<body>
{{ debugbar_Body | raw }}
-- other stuff ---
</body>
重要提示 :請確保您的“ debugbar_Head”位於head標記的末尾,“ debugbar_Body”位於body標記的開始(出於某種原因,這有助於防止罕見的渲染錯誤)。
3)正常渲染您的模板:
echo $view->render('your-template-path', $template_vars);
享受Twig呈現的頁面,其底部具有功能齊全的DebugBar。
注意:網絡上有一些東西可以促進Twig和DebugBar的“混合”。 請嘗試使用它們之前,請檢查它們是否與框架無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.