【发布时间】:2013-08-17 08:23:30
【问题描述】:
正如标题所述,我真的很想澄清这一点。我已经阅读了一些关于这个主题的文章和帖子,但有些东西对我来说并不合适。我会补充一点,我对 PHP 有点陌生。好的,这就是我想了解的内容;
namespace Information;
define('ROOT_URL', 'information/');
define('OFFERS_URL', ROOT_URL . 'offers/');
namespace Products;
define('ROOT_URL', 'products/');
define('OFFERS_URL', ROOT_URL . 'offers/');
我希望常量是可构造的,即从基本常量构建常量,这就是我使用define('NAME', value);的原因。
我的问题是,ROOT_URL 的值会产生相对于其命名空间的值吗?像这样;
$info_offers_url = \Information\OFFERS_URL; ('information/offers/')
$prod_offers_url = \Products\OFFERS_URL; ('products/offers/')
或者定义();将 ROOT_URL 放在全局范围内,因此我不应该这样做吗?有更好的做法吗?
非常感谢所有帮助。
【问题讨论】:
-
引自名称:
Like superglobals, the scope of a constant is global.它们没有命名空间 -
@Mark Baker,非常感谢。我如何将您的回答标记为答案,然后打勾?只是想给你更多的代表点
标签: php namespaces constants