Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Twig 如何将PHP调试栏添加到细枝布局?_Twig_Phpdebugbar - Fatal编程技术网

Twig 如何将PHP调试栏添加到细枝布局?

Twig 如何将PHP调试栏添加到细枝布局?,twig,phpdebugbar,Twig,Phpdebugbar,PHP DegugBar必须显示呈现的细枝模板 我找到了一个,但是如果你看看他们是怎么做的,他们实际上呈现了一种布局,这种布局有点挫败了小枝点,它有自己的布局系统 问题是第22条军规:我需要将debugbar渲染成一个细枝变量,以便将其放入细枝布局中,但如果我已经渲染了debugbar,它将无法捕获我正在渲染细枝模板的事实 所以,我不知道该怎么做。有什么想法吗?创建渲染调试栏所需的代码。这样,您可以执行{{debug_bar()}}来呈现调试栏: 类DebugBarExtension扩展\Twi

PHP DegugBar必须显示呈现的细枝模板

我找到了一个,但是如果你看看他们是怎么做的,他们实际上呈现了一种布局,这种布局有点挫败了小枝点,它有自己的布局系统

问题是第22条军规:我需要将debugbar渲染成一个细枝变量,以便将其放入细枝布局中,但如果我已经渲染了debugbar,它将无法捕获我正在渲染细枝模板的事实

所以,我不知道该怎么做。有什么想法吗?

创建渲染调试栏所需的代码。这样,您可以执行
{{debug_bar()}}
来呈现调试栏:

类DebugBarExtension扩展\Twig\u扩展
{
公共函数getFunctions()
{
返回[
新建\Twig\u SimpleFunction('debug\u bar',[$this,'renderDebugBar'),
];
}
公共函数renderDebugBar()
{
//…呈现并返回调试栏
}
}
创建以呈现呈现调试栏所需的代码。这样,您可以执行
{{debug_bar()}}
来呈现调试栏:

类DebugBarExtension扩展\Twig\u扩展
{
公共函数getFunctions()
{
返回[
新建\Twig\u SimpleFunction('debug\u bar',[$this,'renderDebugBar'),
];
}
公共函数renderDebugBar()
{
//…呈现并返回调试栏
}
}

\DebugBar\JavascriptRenderer::RenderonShutdowwithHead
可能有用


i、 e.按照@Wouter的建议创建一个细枝函数,但不要立即渲染调试栏,而是在关机之前注册它以供稍后渲染。

\debugbar\JavascriptRenderer::renderOnShutdownWithHead
可能有用


i、 e.按照@Wouter的建议创建一个Twig函数,但不要立即渲染调试栏,而是在关机之前注册它以供稍后渲染。

我不确定为什么要使用Twig渲染调试栏,除非您试图测量渲染性能或类似的东西(DebugBar IMO不需要它,因为它无论如何都不应该到达生产环境)

在任何情况下,您都不需要特殊的插件、工件、类或代码来在细枝渲染页面中显示调试栏。您只需执行以下操作:

1)将调试栏渲染的结果(HeadBody)添加到用于向Twig发送变量的数组中。例如:

$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>
享受一个底部有一个功能齐全的调试栏的细枝渲染页面


注意:网络上有一些东西在推广树枝和调试条的“混合”。请在尝试它们之前,检查它们是否与框架无关。

我不确定为什么要使用Twig渲染调试栏,除非您尝试测量渲染性能或类似的性能(调试栏IMO不需要这样做,因为它无论如何都不会到达生产环境)

在任何情况下,都不需要特殊的插件、工件、类或代码来在细枝渲染页面中显示调试栏。您可以简单地执行以下操作:

1)将调试栏渲染的结果(HeadBody)添加到用于向Twig发送变量的数组中。例如:

$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>
享受一个底部有一个功能齐全的调试栏的细枝渲染页面


注意:网络上有一些东西在推广树枝和调试条的“混合”。请在尝试之前,检查它们是否与框架无关。

我确实尝试过,但不起作用。“细枝”面板出现,但它从未列出任何渲染模板。我确实尝试过,但它不起作用。“Twig”面板出现了,但它从未列出任何渲染模板。“除非您试图测量渲染性能或其他东西”--是的,这正是我试图做的。好吧,我唯一有效地做到这一点的方法是在项目中添加PHP DebugBar,然后包装“页面渲染”在调用匿名函数以呈现页面的函数中。这听起来很复杂,但您可以尝试查看并下载DEV分支(其中将包含demo文件夹)。您可以查看/demo/上的演示,并学习从/demo/bridge/twig/开始的代码,在那里您可以找到功能性twig集成示例。“除非您试图测量渲染性能或其他内容”--是的,这正是我要做的。嗯,唯一有效的方法是在项目中添加PHP DebugBar,然后将“page render”包装到一个调用匿名函数来呈现页面的函数中。这听起来很复杂,但您可以尝试查看并下载DEV分支(其中将包含demo文件夹)。您可以查看/demo/上的演示,并学习从/demo/bridge/twig/开始的代码,在那里可以找到功能性twig集成示例。