【发布时间】:2013-12-31 18:30:55
【问题描述】:
我有以下命名空间结构和以下类文件
Application
|->App.php
|->Top
|->Start.php
|->Process.php
|->Child
|->Plugin.php
所以我在 App.php 中声明了
namespace Application;
在 Startp.php 中声明
namespace Application\Top;
在 Plugin.php 中声明
namespace Application\Top\Child;
我看到我可以像这样从 App.php 调用 Plugin.php 类
$object = new Top\Child\Plugin();
如果它是子/孙命名空间,但如果我想从 Plugin.php(它是分支的父命名空间)调用 Process.php 怎么办?是否有类似双点“..”的东西来表示命名空间中的上层父目录?我正在尝试调用类似的东西
File: Plugin.php
$object = new ..\Process();
没用,看来只能从root一路开始就好了
$object = new \Application\Top\Process()
这是唯一的选择吗?谢谢!
【问题讨论】:
-
你试过“usings”:
use Application\Top;然后调用$object = new Child\Process(); -
@Saul 感谢您的回答,但我已经知道了,我正在尝试找出是否有更短的方法可以从子级别调用位于父级别正上方的类
-
我明白了。我从来没想过,哈哈。我习惯把我的“usings”放在最上面,甚至是上面的命名空间。
标签: php namespaces