[英]How to convert a variable to int in Phalcon's .volt?
我在.volt(Phalcon)中有以下代码:
{% set foo = myFunction(data, 'data_source', 0) %}
它返回非负数,问题是当它为空时,我得到的是""
而不是"0"
。 如何强制volt始终将int
作为foo
返回,以便一切都能按预期工作,但不会引发empty variable
错误?
我宁愿避免使用<?php ... ?>
。
我一直在浏览http://voltframework.com/docs ,但没有运气。
谢谢。
您可以选择两个选项:
1)创建自己的电压功能:
$compiler->addFilter(
'int',
function ($resolvedArgs, $exprArgs) {
return 'intval(' . $resolvedArgs . ')';
}
);
此处提供更多信息: https : //docs.phalconphp.com/en/latest/reference/volt.html#id2
2)使用内置的伏特滤波器。 在您的情况下,如果不返回任何值,则可以使用DEFAULT fitler将默认值设置为0。 内置函数的完整列表在这里: https : //docs.phalconphp.com/en/latest/reference/volt.html#filters
当然,其他选择是将函数修改为始终返回值或在volt内部使用PHP语法,这有点难看:)
...还有另一种方法:) Volt已经以名称format
实现了php sprintf函数。 因此,您可以执行以下操作:
{% set foo = myFunction(data, 'data_source', 0) %}
The int of "foo" is: {{ "%d"|format(foo) }}
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.