我正在学习PHP中的命名空间。这是我使用的代码
lib1.php
<?php
namespace App\Lib1;
const MYCONST = "App\Lib1\MYCONST";
function MyFunction() {
return __FUNCTION__;
}
class MyClass {
static function WhoAmI() {
return __METHOD__;
}
}
app.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
我做错了什么?
答案 0 :(得分:0)
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;
尝试这个虽然我不是非常熟悉php中的命名空间。我不确定100%是否需要使用,或者确实需要使用领先\它可能需要使用\ App \ Lib1
我还认为它应该只是命名空间App;在您的声明文件中,然后你做echo \ App \ MYCONST;但又不熟悉,它可能与子命名空间
完全吻合