VOLT模板提供了检查对象类型的可能性:
{% set external = false %}
{% if external is type('boolean') %}
{{ "external is false or true" }}
{% endif %}
是否有可能检查对象是否是这样的模型的类型:
{% if user is type('user') %}
{{ "user is type of user" }}
{% endif %}
感谢您的帮助
答案 0 :(得分:0)
您必须在services.php here
中创建一个功能答案 1 :(得分:0)
截至今天(2021 年),Phalcon 似乎仍然没有解决方案。为了解决这个问题,我添加了一个自定义的 Volt 函数:
$compiler = $this->volt->getCompiler();
$compiler->addFunction('instanceof', function ($resolvedArgs, $exprArgs) {
$object = $instance = 'null';
if (isset($exprArgs[0])) {
$object = $exprArgs[0]['expr']['value'] ?? 'null';
}
if (isset($exprArgs[1])) {
$instance = $exprArgs[1]['expr']['value'] ?? 'null';
}
return '$' . $object . ' instanceof ' . $instance;
});
在 Volt 中,我现在可以使用以下命令检查对象的实例:
{% if instanceof(myobject, \DateTime) %}
{% endif %}