PHP名称空间,包括使用语句中的常数



我正在尝试在php名称空间中使用常数:

define('API_VERSION', 'v201705');

我希望能够在下面的使用语句中使用上面的常数

use apiv201705service;

我不知道这是否可以,因为以下情况显然不起作用:

use api.API_VERSION.service;

在这种情况下,任何人都可以建议一种使用常数的不同方法吗?

任何帮助将不胜感激。

谢谢

我在这里使用的解决方法是类常数的用法。

然后

  1. 您不需要覆盖自动加载器
  2. 您可以在语义上分组
  3. "定义"具有全球可见性,在99%的用例中您不需要它。
  4. 您不需要实例化类即可使用类常数。因此,这是非常便宜的操作。

namespace My;
class StaticConfig {  
   const VERSION = '1.2.3';
}
...        
use MyStaticConfig;
echo StaticConfig::VERSION;

实际上,这甚至不是解决方法,这是很普遍的做法。

最新更新