october中使用twig模板語(yǔ)言擴(kuò)展為多個(gè)函數(shù),標(biāo)簽楷兽,過(guò)濾器和變量异雁。這些擴(kuò)展允許您使用CMS功能并訪問(wèn)模板中的頁(yè)面環(huán)境信息。
變量
模板變量使用雙大括號(hào)打印在頁(yè)面上是鬼。
{{ variable }}
變量也可以表示表達(dá)式肤舞。
{{ isAjax ? 'Yes' : 'No' }}
變量可以與~字符連接。
{{ 'Your name: ' ~ name }}
october 在變量下提供了全局變量this均蜜,如變量部分所列李剖。
標(biāo)簽
邏輯判斷、模板上流程處理
標(biāo)簽是Twig的獨(dú)特功能囤耳,并且包含{% %}字符篙顺。
{% tag %}
標(biāo)簽提供了更流暢的描述模板邏輯的方法。
{% if stormCloudComing %}
Stay inside
{% else
Go outside and play
{% endif %}
該{% set %}標(biāo)簽可以用來(lái)設(shè)置模板中的變量。
{% set activePage = 'blog' %}
該{% for item in items %}設(shè)置循環(huán)
{% for post in category.posts %}
{{post.title}}
{% endfor %}
過(guò)濾器
過(guò)濾器作為單個(gè)實(shí)例的變量的修飾符,并使用管道符號(hào)后跟過(guò)濾器名稱進(jìn)行應(yīng)用攻晒。
{{ 'string'|filter }}
{{ post.content|md}}
過(guò)濾器可以像函數(shù)一樣使用參數(shù)。
{{ price|currency('USD') }}
過(guò)濾器可以連續(xù)應(yīng)用姜凄。
{{ 'October Glory'|upper|replace({'October': 'Morning'}) }}
函數(shù)
函數(shù)允許執(zhí)行邏輯,返回結(jié)果作為一個(gè)變量。
{{ function() }}
函數(shù)可以引用
{{ dump(variable) }}
訪問(wèn)邏輯
了解Twig最重要的是如何訪問(wèn)PHP層。為方便起見(jiàn){{ foo.bar }}琴儿,對(duì)PHP對(duì)象進(jìn)行以下檢查:
- 檢查是否foo是數(shù)組和bar有效元素。
- 如果不是嘁捷,如果foo是對(duì)象造成,請(qǐng)檢查是否bar是有效的屬性。
- 如果沒(méi)有普气,如果foo是一個(gè)對(duì)象,請(qǐng)檢查是否bar是一個(gè)有效的方法(即使bar是構(gòu)造函數(shù) - 使用__construct()替代)佃延。
- 如果不是现诀,如果foo是對(duì)象,請(qǐng)檢查是否getBar是有效的方法履肃。
- 如果不是仔沿,如果foo是對(duì)象,請(qǐng)檢查是否isBar是有效的方法尺棋。
- 如果沒(méi)有封锉,返回null值。
不支持twig的功能
不支持Twig提供的一些功能。它們列在下面的等效功能旁邊成福。
標(biāo)簽 | 擴(kuò)展 |
---|---|
{% extend %} | 使用layouts或{% placeholder %}替代 |
{% include %} | 使用{% partial %} or {% content %} |