Twig problem with php 7.4 in write variable(php 7.4 在写入变量中的 Twig 问题)
问题描述
我在我的项目中使用 php7.3 并在这个项目中使用 Twig
I using php7.3 on my project and use Twig in this project
将我的 php 版本升级到 7.4 后,我在树枝渲染中出现了一些错误.
After upgrade my php version to 7.4 i have some error in twig rendering.
我通过 Twig 变量设置了一些 html 类
I set some html class by Twig variable
例如:
<body class='{{global.direction}} preload {{bodyclass}}'></body>
当使用 php 7.3 时,Twig 渲染的输出是:
When using php 7.3 the output of Twig render is:
<body class='ltr preload main'></body>
我的来源没有问题.
但是当我的 php 升级到 php 7.4 时,输出发生了变化!
But when my php upgraded to php 7.4 the output was changed!
<body class='ltr preloadmain'></body>
在变量之前在空间上删除了 Twig,并且在我的源代码中发生了非常错误:/
Twig removed on space before variable and very error was happening in my source :/
Twig 到处调用变量,Twig 删除它之前的所有空格!
Everywhere call variable from Twig, The Twig remove all space before it!
有什么办法吗?
如何解决?
推荐答案
对我有用的一般答案(Opencart Twig 也是)与评论中提到的修复 Simo Heinonen 有关,即https://github.com/twigphp/Twig/pull/3004/commits/1fb0f9701d8443085495cd264
The general answer that worked for me (Opencart Twig too) is related to the fix Simo Heinonen mentioned in the comments i.e. https://github.com/twigphp/Twig/pull/3004/commits/1fb0f9701d8443083495cd2645e8a0c45d54c34d
不同版本的代码会与上面显示的有所不同.对于 Opencart Twig(大多数版本,但使用 oc 3.0.3.3 进行了测试),显然修复了它:
Different versions will have somewhat different code than shown above. For Opencart Twig (most versions but tested with oc 3.0.3.3) what apparently fixed it was :
在文件 Lexer.php 中查找函数 lexData 第 163 行更改:
Find in file Lexer.php function lexData line 163 change:
if (isset($this->positions[2][$this->position][0]) ) {
$text = rtrim($text);
}
到
if (isset($this->positions[2][$this->position][0]) && ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0])) {
$text = rtrim($text);
}
这篇关于php 7.4 在写入变量中的 Twig 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:php 7.4 在写入变量中的 Twig 问题
基础教程推荐
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01