gpt4 book ai didi

PHP 似乎将 null 定义为自身。这是如何运作的?

转载 作者:行者123 更新时间:2023-12-03 19:42:30 24 4
gpt4 key购买 nike

我的一位同事通过按住 ctrl 单击 null 发现了在 PHPStorm 中,PHP 定义了 null作为

define ('null', null, true);

core_d.php .
  • 为什么 PHP 需要定义 null 呢?
  • 这甚至是如何工作的?怎么定义null作为自己?

  • 到目前为止,我最好的理论可能是 null已经定义,但使用 define允许添加不区分大小写的别名,可以这么说。我对 PHP 的了解不够,无法判断这种可能性。

    最佳答案

    core_d.php属于 PHPStorm 而不是 PHP 本身。 See the file on github. PHP 几乎完全是用 C 编写的。该文件的存在可能是为了帮助了解代码和静态分析。来自 README file of the stubs repo :

    STUBS are normal, syntactically correct PHP files that contain function & class signatures, constant definitions, etc. for all built-in PHP stuff and most standard extensions. Stubs need to include complete PHPDOC, especially proper @return annotations.

    An IDE needs them for completion, code inspection, type inference, doc popups, etc. Quality of most of these services depend on the quality of the stubs (basically their PHPDOC @annotations).


    但是,正如 Bartosz Zasada 所指出的那样php 确实定义了一个名为 null 的常量。它目前在 line 137 of ext/zend/zend_constants.c 中定义php源代码末尾 zend_register_standard_constants() .

    关于PHP 似乎将 null 定义为自身。这是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61336962/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com