未定义的常量命名空间


Undefined constant namespaces

我正在学习PHP中的命名空间。这是我使用的代码

lib1.php

<?php
namespace App'Lib1;
const MYCONST = "App'Lib1'MYCONST";
function MyFunction() {
    return __FUNCTION__;
}
class MyClass {
    static function WhoAmI() {
        return __METHOD__;
    }
}

应用.php

<?php
header('Content-type: text/plain');
require_once 'lib1.php';
echo App'Lib1'MYCONST;

问题是由于某种原因我得到了

Undefined constant 'App'Lib1'MYCONST' in <b>/Applications/MAMP/htdocs/namespaces/myapp.php

我做错了什么?

namespace App'Lib1;
const MYCONST = "App'Lib1'MYCONST";
function MyFunction() {
    return __FUNCTION__;
}
class MyClass {
    static function WhoAmI() {
        return __METHOD__;
    }
}

header('Content-type: text/plain');
require_once 'lib1.php';
use App'Lib1;
echo 'App'Lib1'MYCONST;

试试这个,虽然 tbh 我对 php 中的命名空间不是很熟悉。 我不确定使用是否 100% 必需,或者如果它确实需要前导 '',则可能需要使用 ''App''Lib1

我也认为它应该只是命名空间应用程序; 在你的声明文件中,你会做回显''App''MYCONST; 但同样不够熟悉,子命名空间可能很好