繁体   English   中英

当属性不存在时,为什么Twig会退回到对象上?

[英]Why Twig falls back to object when a property doesn't exist?

我正在尝试在模板上打印对象的属性:

{{ MyObject.itsProperty }}

问题是,未设置此属性, __isset将返回false__get将返回null

Twig尝试打印MyObject而不是不打印任何东西,而将其留在那:

可恢复的致命错误:无法在..... vendor / twig / twig / lib / Twig / Environment.php(378)中将类MyObject的对象转换为字符串:第54行的eval()代码

strict_variables设置为false并没有帮助。 怎么处理呢?

正如@GentlemanMax指出的那样,Twig将尝试调用方法以及属性来尝试解析点运算符。 这可能会导致调用__get和__call魔术方法。

我的问题是__call的实现返回了$ this,导致我上面提到的错误。

谢谢@GentlemanMax和其他所有人对我的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM