Symfony2:phpinfo() 使用树枝模板进行布局?

Symfony2: phpinfo() using a twig template for layout?

Twig 不会处理 PHP 标签。因此,根据布局(比如 base.html.twig)创建 phpinfo() 页面是一项挑战。

是否可以将 phpinfo() 的 HTML 内容转储到某个变量中并将其作为正文内容传递给布局?或者,有更好的方法进行吗?

只需使用输出缓冲捕获 phpinfo() 的输出,并将其传递给模板。

ob_start();
phpinfo();
$phpinfo = ob_get_clean();

echo $twig->render('phpinfo.html.twig', array('phpinfo' => $phpinfo));

这是对 Federkun 回答的补充。 在控制器中:

ob_start();
phpinfo();
$phpinfo = ob_get_contents();
ob_end_clean();
return $this->render('phpinfo.html.twig', array(
    'phpinfo'=>$phpinfo,
));

别忘了放一个 |生在树枝上!

{{ phpinfo | raw }}
class DefaultController extends Controller
{
    /**
     * @Route("/", name="index")
     * @Method("GET")
     */
    public function index()
    {
        ob_start();
        phpinfo();
        $phpinfo = ob_get_clean();

        return new Response(
            '<html><body>'.$phpinfo.'</body></html>'
        );
    }
}

使用 Symfony,如果您只需要检查 phpinfo() 的输出,您可以在控制器中使用 dump(phpinfo()),您将获得基本的 phpinfo() 输出。还可以调用 phpinfo() 作为 Response 对象的参数然后 return 它:

class DefaultController extends AbstractController
{
   /**
    * @Route("/", name="default")
    */
   public function index()
   {
       dump(phpinfo());

       // Then return something else, or call directly phpinfo() on return, like bellow
       return new Response(phpinfo());
   }
}