如何在 Phalcon 的 .volt 中将变量转换为 int?
How to convert a variable to int in Phalcon's .volt?
我在 .volt (Phalcon) 中有此代码:
{% set foo = myFunction(data, 'data_source', 0) %}
它 return 是非负数,问题是当它为空时我得到 ""
而不是 "0"
。我如何强制伏特始终 return 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) 使用 volt 的内置滤波器。在您的情况下,如果没有 returned 值,您可以使用 DEFAULT fitler 将默认值设置为 0。完整的内置函数列表:https://docs.phalconphp.com/en/latest/reference/volt.html#filters
当然,其他选项是将您的函数修改为始终 return 一个值,或者在 volt 中使用 PHP 语法,这有点难看:)
...还有另一种方法 :) Volt 已实现 php sprintf 函数,名称为 format
。所以,你可以这样做:
{% set foo = myFunction(data, 'data_source', 0) %}
The int of "foo" is: {{ "%d"|format(foo) }}
祝你好运!
我在 .volt (Phalcon) 中有此代码:
{% set foo = myFunction(data, 'data_source', 0) %}
它 return 是非负数,问题是当它为空时我得到 ""
而不是 "0"
。我如何强制伏特始终 return 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) 使用 volt 的内置滤波器。在您的情况下,如果没有 returned 值,您可以使用 DEFAULT fitler 将默认值设置为 0。完整的内置函数列表:https://docs.phalconphp.com/en/latest/reference/volt.html#filters
当然,其他选项是将您的函数修改为始终 return 一个值,或者在 volt 中使用 PHP 语法,这有点难看:)
...还有另一种方法 :) Volt 已实现 php sprintf 函数,名称为 format
。所以,你可以这样做:
{% set foo = myFunction(data, 'data_source', 0) %}
The int of "foo" is: {{ "%d"|format(foo) }}
祝你好运!