【问题标题】:Symfony2: phpinfo() using a twig template for layout?Symfony2:phpinfo() 使用树枝模板进行布局?
【发布时间】:2015-12-31 20:13:11
【问题描述】:

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

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

【问题讨论】:

  • ob_start(); $输出 = phpinfo(); ob_end_clean();

标签: php symfony twig phpinfo


【解决方案1】:

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

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

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

【讨论】:

  • 对于模板中的样式,请使用
     ...如果您使用引导程序,请将类 prettyprint 添加到 pre
【解决方案2】:

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

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

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

{{ phpinfo | raw }}

【讨论】:

    【解决方案3】:
    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>'
            );
        }
    }
    

    【讨论】:

      【解决方案4】:

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

      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());
         }
      }
      

      【讨论】:

        猜你喜欢
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 2016-06-09
        • 1970-01-01
        • 1970-01-01
        • 2013-08-24
        相关资源
        最近更新 更多