我使用Twig PHP模板引擎。Twig是否有空合并运算符?
是否有一个操作符可以输出第一个非空值(合并)?
例如(使用PHP伪代码):
{{ title ?: "Default Title" }}
我知道我可以做这样的事情,但它是一个絮叨:
{% if title %}{{ title }}{% else %}{{ "Default Title" }}{% endif %}
我使用Twig PHP模板引擎。Twig是否有空合并运算符?
是否有一个操作符可以输出第一个非空值(合并)?
例如(使用PHP伪代码):
{{ title ?: "Default Title" }}
我知道我可以做这样的事情,但它是一个絮叨:
{% if title %}{{ title }}{% else %}{{ "Default Title" }}{% endif %}
是的,有这个过滤器叫做default。你可以把它应用到你的代码象下面这样:
{{ title|default("Default Title") }}
由于枝条1.12.0的,它确实有?:
运营商,但它不是真正的“空合并”。它检查真实性,而不仅仅是空值,因此0 ?: 1
会出来1
。
空 - 结合运营商正式在嫩枝1.24(2016年1月25日)推出。
这意味着它现在可以做到这一点...
{{ title ?? "Default Title" }}
,你甚至可以把它们连在一起,要检查多个变量,直到一个有效的非空值找到。
{{ var1 ?? var2 ?? var3 ?? var4 }}
答案由@molecularman提供,但我想让你知道你可以让你的最后一个例子变短:'{{title?标题:'默认标题'}}' –