Phalcon文档提到了如何使用过滤器|e
或通过autoescape-mode {% autoescape true %}
进行自动显示。但Twig默认启用自动加载,并允许您将其作为选项传递给Twig Environment对象。因此,在Twig中,您可以为您的应用全局控制自动转发。
Phalcon是否提供相同的可能性?我真的无法在Google上找到这个答案,而且我的C知识也不存在。
答案 0 :(得分:0)
是的,这可能是一个问题,因为Volt's implementation转义中的AFAIK是为了处理块或表达式,所以可能很难确定你应该使用什么。
恕我直言,更简单的方法是通过自定义编译器以仅在值来自外部源(如变量或方法返回)时转义表达式。所以......答案基本上是不,Volt不能这样做。但实际上这对框架来说是一个很好的NRF。
更多地思考这个问题我已经意识到我在我的应用程序中做了类似的事情。 CRUD操作中的数据交换主要是表单之间的循环,控制器和持久性,除了Phalcon提供的所有帮助程序(从ORM到表单抽象),我们需要应用一些约定来自动化我们的CRUD大部分时间基本相同的操作。
所以我有两个组件可以帮助我从表单中获取模型数据,另一个组件可以帮助我从数据库中获取模型数据。在这两个组件中,每次操作都会自动调用值转换,过滤器和验证。
我之所以这么说,因为字符串的默认过滤器是字符串转义。我的意思是,如果担心输入控制器的任何数据(即来自表单或数据库)的数据清理,您可能会有更好的结果。作为奖励,您可以在模型中获得更加一致且强大的类型值,从而使您的业务逻辑实现更加简单。