我正在尝试用常量来理解PHP的行为,所以我尝试了这段代码:
<?php
namespace NS;
define('C', "I am a constant");
const A = "I am a letter";
echo __NAMESPACE__; // NS
echo namespace\A, PHP_EOL; // I am a letter
echo namespace\C, PHP_EOL; // PHP Fatal error: Uncaught Error: Undefined constant 'NS\C'
我理解为什么会发生致命错误(我读过这个stackeoverflow帖子:Constants Inside Namespace Clarification和the PHP manual)。那么有没有办法让类名为::class
的名称空间为常量?