[英]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.