今天早上,我已收到有关新Twig_Extensions版本可用的通知!耶!
在将其整合到twigfiddle之前,我希望看到changes。这主要是使用class_alias
函数添加对名称空间的支持,然后添加仅包含旧版本的PSR-4对应类。
但每个新的(命名空间)类都是这样实现的:
<?php
namespace Twig\Extensions;
require __DIR__.'/../lib/Twig/Extensions/Extension/Text.php';
if (\false) {
class TextExtension extends \Twig_Extensions_Extension_Text
{
}
}
这种符号是什么意思?
答案 0 :(得分:5)
这意味着它使用了全局命名空间中定义的false ..
经过一番研究后发现,这个答案的其余部分都是无意义的......我发誓,你可以在一个时间点用PHP做到这一点。
我认为这是绕过
的情况<?php
namespace whywouldyoudothis;
false = true;
?>
我从来没有见过任何代码,但这是我想到的。
答案 1 :(得分:3)
使用\前缀名称将指定需要名称 即使在名称空间的上下文中也是全局空间。
答案 2 :(得分:0)
这是一个毫无意义的代码,只是一个Unreachable code,因为\ false始终为false!
答案 3 :(得分:0)
if (\false) {
class TextExtension extends \Twig_Extensions_Extension_Text
{
}
}
代码嗅探器和IDE仍可以访问该代码。但是,我认为该处应该有弃用说明。这样就可以通知开发人员有关不赞成使用的类的信息。
这里是Twig主存储库中的一个示例。 https://github.com/twigphp/Twig/blob/v2.10.0/lib/Twig/Token.php