日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

一个控制器2套模版php,如何不用一个自定义的控制器渲染一个模板

發布時間:2025/3/12 php 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个控制器2套模版php,如何不用一个自定义的控制器渲染一个模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何不用一個自定義的控制器渲染一個模板

通常,當您需要創建一個頁面,您需要創建一個控制器并且從該控制器中呈現模板。但如果您僅僅呈現一個簡單的模板,并且不需要傳遞給它的任何數據,則完全沒必要創建一個控制器,通過使用內置的 FrameworkBundle:Template:template 控制器就可以達到目的。

例如,假設您想要呈現 static/privacy.html.twig 模板,并且不需要給它傳遞任何變量。那么您可以這樣做而無需創建一個控制器:

YAML:

acme_privacy:

path: /privacy

defaults:

_controller: FrameworkBundle:Template:template

template: static/privacy.html.twig

XML:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">

FrameworkBundle:Template:template

static/privacy.html.twig

PHP:

use Symfony\Component\Routing\RouteCollection;

use Symfony\Component\Routing\Route;

$collection = new RouteCollection();

$collection->add('acme_privacy', new Route('/privacy', array(

'_controller' => 'FrameworkBundle:Template:template',

'template' => 'static/privacy.html.twig',

)));

return $collection;

FrameworkBundle:Template:template 控制器將簡單地呈現給您把它當做默認模板傳遞的任何模板。

當然可以也使用這個技巧把控制器嵌入到模板中來展現這個模板。但由于把控制器嵌入到模板內的目的通常是在自定義的控制器中準備某些數據,這可能只是在您想要緩存這個頁面的一部分的時候有用(請參見緩存靜態模板)。

Twig:

{{ render(url('acme_privacy')) }}

PHP:

<?php echo $view['actions']->render(

$view['router']->generate('acme_privacy', array(), true)

) ?>

緩存的靜態模板

因為通常使用這種方法可以實現模板靜態化,所以對它們進行緩存會比較有意義。幸運的是,這相對來說比較容易,通過配置您的路徑中的幾個其他變量,您就可以控制您的頁面如何緩存:

YAML:

acme_privacy:

path: /privacy

defaults:

_controller: FrameworkBundle:Template:template

template: 'static/privacy.html.twig'

maxAge: 86400

sharedAge: 86400

XML:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">

FrameworkBundle:Template:template

static/privacy.html.twig

86400

86400

PHP:

use Symfony\Component\Routing\RouteCollection;

use Symfony\Component\Routing\Route;

$collection = new RouteCollection();

$collection->add('acme_privacy', new Route('/privacy', array(

'_controller' => 'FrameworkBundle:Template:template',

'template' => 'static/privacy.html.twig',

'maxAge' => 86400,

'sharedAge' => 86400,

)));

return $collection;

MaxAge 和 sharedAge 的值用于修改在控制器中創建的響應對象。對緩存的詳細信息,請參閱 HTTP 緩存。

這里也有一個私有變量 (此處未顯示)。在默認情況下,響應將予以公開,只要它傳遞了 maxAge 或 sharedAge 。如果設置為 true,響應將被標記為私有。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的一个控制器2套模版php,如何不用一个自定义的控制器渲染一个模板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。