名前空間内で定数を宣言したい。もちろん、外に見えないようにしたいです。
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'); を実行していることは知っています。より簡単になりますが、これは単なる例です。