未定义的常量命名空间

时间:2013-06-07 14:54:51

标签: php oop namespaces

我正在学习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

我做错了什么?

1 个答案:

答案 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;但又不熟悉,它可能与子命名空间

完全吻合