2012-11-19 125 views
5

我使用Twig PHP模板引擎。Twig是否有空合併運算符?

是否有一個操作符可以輸出第一個非空值(合併)?

例如(使用PHP僞代碼):

{{ title ?: "Default Title" }} 

我知道我可以做這樣的事情,但它是一個絮叨:

{% if title %}{{ title }}{% else %}{{ "Default Title" }}{% endif %} 
+1

答案由@molecularman提供,但我想讓你知道你可以讓你的最後一個例子變短:'{{title?標題:'默認標題'}}' –

回答

10

是的,有這個過濾器叫做default。你可以把它應用到你的代碼象下面這樣:

{{ title|default("Default Title") }} 
3

由於枝條1.12.0的,它確實?:運營商,但它不是真正的「空合併」。它檢查真實性,而不僅僅是空值,因此0 ?: 1會出來1

Documentation

10

空 - 結合運營商正式在嫩枝1.24(2016年1月25日)推出。

* adding support for the ?? operator

這意味着它現在可以做到這一點...

{{ title ?? "Default Title" }} 

,你甚至可以把它們連在一起,要檢查多個變量,直到一個有效的非空值找到。

{{ var1 ?? var2 ?? var3 ?? var4 }}