Const 接收另一个常量

Const receiving another constant

为什么PHP/laravel在常量的赋值中即使传递了完整的命名空间也提示"class not found"错误?

我是 运行 使用 php artisan 的后台进程,并且有一个特定的 class 将常量分配给另一个通用 class 的常量。

FILE_1: 

namespace App\Elasticsearch;
class Errors
{
   const UPDATE_DOCUMENT = 'xxx';
}

FILE_2:

namespace App\Services\Exceptions;
class UpdateDocumentException 
{
  const ERROR = \App\Elasticsearch\Errors::UPDATE_DOCUMENT;
}

当我执行这样的命令时,它显示消息: Class 'App\Elasticsearch\Errors' 未找到

当我把 use of class Errors 放在 namespace[=28= 的声明下面时]在FILE_2中运行正常,区别如下:

FILE_2:

namespace App\Services\Exceptions;
use App\Elasticsearch\Errors;

class UpdateDocumentException extends DocumentException 
{
  const ERROR = Errors::UPDATE_DOCUMENT;
}

我通过 运行 命令解决了这个问题:composer dump-autoload