如何在php中跨文件使用命名空间常量

nuypyhwy  于 2023-03-28  发布在  PHP
关注(0)|答案(1)|浏览(135)

我有一个可能是简单的语法问题,但一直找不到一个例子。考虑这两个文件:

foo.php

<?php

namespace abc\def;
define(__NAMESPACE__ . '\MY_DEFINE', 'MyDefine');
class foo
{
    ...
}

文件名.php

<?php

namespace abc\def\ghi;
use const abc\def\MY_DEFINE;
class bar
{
    ...

    public function getMyDefine(): string
    {
        return MY_DEFINE;
    }
}

在引用MY_DEFINE的行中,我得到以下警告:
psalm:UndefinedConstant:未定义常量MY_DEFINE
当我从一个单元测试调用getMyDefine时,它给我一个错误:
错误:未定义的常量“MY_DEFINE”
我错过了什么?

56lgkhnf

56lgkhnf1#

shingo回答了我的问题。我期望自动加载以与类相同的方式处理常量,但事实并非如此。

相关问题