感谢@DarkBee,我被指出了正确的方向并最终使用了这个:我创建了一个debug-template.class.php
具有以下内容的:
<?php
abstract class DebugTemplate extends Twig_Template {
public function display(array $context, array $blocks = array())
{
// workaround - only add the html comment when the partial is loaded with @
if(substr($this->getTemplateName(),0,1) == '@') {
echo '<!-- START: ' . $this->getTemplateName() . ' -->';
}
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
if(substr($this->getTemplateName(),0,1) == '@') {
echo '<!-- END: ' . $this->getTemplateName() . ' -->';
}
}
}
?>
然后我拿走了我的index.php
并添加了
require_once 'vendor/twig/twig/lib/Twig/TemplateInterface.php';
require_once 'vendor/twig/twig/lib/Twig/Template.php';
并添加了 DebugTemplate 类
$twig = new Twig_Environment($loader, array(
'cache' => false,
'base_template_class' => 'DebugTemplate'
));
结果正是我想要的,看起来像这样
<!-- START: @default/_components/panel.html.twig -->
<div class="panel panel-default">
<!-- END: @default/_components/panel.html.twig -->