PHP似乎将null定义为自身。这是怎么回事?
我的一位同事发现,通过在PHPStorm中按住ctrl键单击PHP似乎将null定义为自身。这是怎么回事?,php,null,Php,Null,我的一位同事发现,通过在PHPStorm中按住ctrl键单击null,PHP将null定义为 define ('null', null, true); 在core\u d.php中 为什么PHP需要定义null 这到底是怎么回事?它如何将null定义为自身 到目前为止,我最好的理论是,null可能已经定义,但是使用define可以添加不区分大小写的别名。我对PHP的了解还不足以判断这种可能性。core_d.PHP属于PHPStorm,而不是PHP本身。PHP几乎完全是用C编写的。该文件的存在可
null
,PHP将null
定义为
define ('null', null, true);
在core\u d.php
中
null
定义为自身到目前为止,我最好的理论是,
null
可能已经定义,但是使用define
可以添加不区分大小写的别名。我对PHP的了解还不足以判断这种可能性。core_d.PHP
属于PHPStorm,而不是PHP本身。PHP几乎完全是用C编写的。该文件的存在可能有助于代码洞察和静态分析。从:
存根是正常的、语法正确的PHP文件,包含所有内置PHP内容和大多数标准扩展的函数和类签名、常量定义等。存根需要包含完整的PHPDOC,尤其是适当的@return注释
IDE需要它们来完成、代码检查、类型推断、文档弹出窗口等。大多数服务的质量取决于存根的质量(基本上是它们的PHPDOC@annotation)
然而,正如php所指出的,它确实定义了一个名为null的常量。它目前在php源代码的
zend\u register\u standard\u constants()
末尾定义。不过,值得注意的是,php中实际上有一个名为null
的常量,它的值是,你知道的,null
:。这样做可能是为了避免人们在PHP中重新定义值关键字。