定义一个在不同命名空间php 5.4中使用的常量

时间:2013-09-13 05:08:00

标签: php namespaces constants

我在访问另一个名称空间中定义的常量时遇到问题

这是具有

中定义的常量的类
<?php namespace App\Box

class Green
{
  const COLOR = 'green';
}

这是用于从第一个类

实例化实例的类
<?php namespace App\Tests

use App\Box\Green

class Test1
{
   protected $box;

   public function __construct()
   {
      $this->box = new Green;
   }
}

我收到以下错误

Use of undefined constant COLOR - assumed 'COLOR'

1 个答案:

答案 0 :(得分:0)

可能是因为无论您使用/的哪个地方,都需要使用\。这对我有用:

namespace App\Box {
    class Green {
        const COLOR = 'green';
    }
}

namespace App\Tests {

    use App\Box\Green;

    class Test1 {
        public function __construct() {
            echo Green::COLOR;
        }
    }

    $t = new Test1(); // green
}

你想做什么?