簡體   English   中英

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對象的參數,然后返回它:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM