Twig新功能:命名空间类
2019年3月6日·发表的哈维尔Eguiluz
嫩枝模板引擎最初发布于2008年,比PHP 5.3在2009年6月引入PHP名称空间早了一年。这就是为什么历史上Twig类从不使用名称空间的原因:
12 3 4 5 6 7 8 9 10 11 12 13
名称空间应用程序\嫩枝;类AppExtension扩展\Twig_Extension{公共函数getFilters(){返回[新\ Twig_SimpleFilter ('...', [$这,'...')));}/ /……}
在2017年,我们添加了带有名称空间的别名所以你可以使用名称空间来导入Twig类,但我们也维护了非名称空间类,以不破坏任何现有的应用程序。这是前面的例子在使用名称空间时的样子:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
名称空间应用程序\嫩枝;使用嫩枝\扩展\AbstractExtension;使用嫩枝\TwigFilter;类AppExtension扩展AbstractExtension{公共函数getFilters(){返回[新TwigFilter ('...', [$这,'...')));}/ /……}
同时维护两种使用Twig类的方式会不必要地使其维护复杂化,所以我们决定是时候这样做了切换所有Twig类使用PHP名称空间.这就是为什么,从下一个2开始。x版本,所有非命名空间的类将被弃用他们将会在树枝3中被移除。这部电影预计将于2019年上映。
这意味着大量的代码更改,所以请测试Twig 2的开发版本。在我们标记它的下一个稳定版本之前,报告任何问题下周末.
发表在#生活在边缘
评论
托马斯Votruba
2019年3月9日说在22:35
校长准备好了:https://github.com/rectorphp/rector/blob/master/config/level/twig/underscore-to-namespace.yaml
修复了1.38.1和2.7.1(我刚刚发布)。
托马斯Votruba
2019年4月5日说17点32分
我的2美分:https://www.tomasvotruba.cz/blog/2019/04/04/how-to-upgrade-twig-from-underscored-to-namespaces/
Michał is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now