3

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

我做错了什么?

4

1 回答 1

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; 但又不够熟悉,子命名空间可能没问题

于 2013-06-07T15:13:09.960 回答