Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在twig项目中发现的这种语法背后的想法是什么?_Php - Fatal编程技术网

Php 在twig项目中发现的这种语法背后的想法是什么?

Php 在twig项目中发现的这种语法背后的想法是什么?,php,Php,我研究了一个流行的PHP模板引擎,发现了以下代码: <?php namespace Twig; class_exists('Twig_Lexer'); if (\false) { class Lexer extends \Twig_Lexer { } } 如@Madflow所示 他们使用类_exists,但没有将其分配给变量,也没有在条件结构中使用其返回值,因为其唯一目的是: 首先触发这些类的自动加载程序,一旦它们 自动加载时,别名也会被注册。这意味着那个

我研究了一个流行的PHP模板引擎,发现了以下代码:

<?php

namespace Twig;

class_exists('Twig_Lexer');

if (\false) {

    class Lexer extends \Twig_Lexer
    {
    }
}
如@Madflow所示

他们使用
类_exists
,但没有将其分配给变量,也没有在条件结构中使用其返回值,因为其唯一目的是:

首先触发这些类的自动加载程序,一旦它们 自动加载时,别名也会被注册。这意味着那个孩子 使用类型提示别名的类不被视为 不再破坏签名


`\`表示全球名称空间这仍然很有趣-为什么他们使用class_存在…多亏了你@madflow。这个网站上的许多人从来没有花时间真正回答问题,他们只需要证明他们是伟大的版主,但有时他们完全错了,不清楚…你明白我问了什么,这一点是智能…这个问题一点也不重复。它实际上不是同一件事,你的另一个问题的答案在某种程度上是毫无意义的,因为PHP手册说我们不能像false、true、null等那样重新定义常量。我问题的真正答案是madflow所说的@RiggsFolloyKay,但是为什么
if(\false)
是否已使用?我的意思是永远不会调用条件块体中的代码,或者我错了吗?@naitsirch if(\false)可能意味着if(true)如果有人将全局假常量重新定义为true,这不是我的意思。if条件中的静态“false”永远不会变为true,对吗?if块(
类Lexer extends\Twig_Lexer{}
)中的代码将永远不会执行。那么它为什么存在呢?也许是为了让IDE或静态分析器了解这个类?[更新]至少有人有同样的想法: