【发布时间】:2012-11-15 17:42:56
【问题描述】:
我想在命名空间内声明常量。我当然希望它们在它之外不可见。
使用define() 不起作用,因为它使常量全局化,而不管它在哪个命名空间中执行(如果我理解得很好的话)。
我可以这样做:
namespace paths;
const models = 'Models/';
const views = 'Views/';
const classes = 'Classes/';
还有其他地方:
require_once(paths\models.'user.php'); // works
require_once(models.'user.php'); // fails
如果我这样做:
namespace ns;
namespace subNs;
我是在 ns\subNs 中还是在 subNs 中?
PS:我知道做 require_once('Models/user.php');会更简单,但这只是一个例子。
【问题讨论】:
标签: php namespaces constants