【问题标题】:Undefined constant namespaces未定义的常量命名空间
【发布时间】:2013-06-03 22:29:27
【问题描述】:

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

我做错了什么?

【问题讨论】:

    标签: php oop namespaces


    【解决方案1】:
    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-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 2019-10-21
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      相关资源
      最近更新 更多