如下图这是目录结构
这是 test.class.php
内的代码
<code>php</code><code><?php namespace Common; class test{ public function __construct(){ } } </code></code>
这是 IndexController.class.php
下的代码
<code>php</code><code><?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $test = new \Common\test(); } } </code></code>
我想达到的效果是在 test.class.php
下不把命名空间命名成 namespace Common\Common;
而是命名为 namespace Common;
也能在 IndexController.class.php
实例化 test.class.php
这样就可以减少一个目录,因为我在另一个业务里有一个目录名是变量 想跳过那个目录 能实现上图的实例吗 真心求解答
如下图这是目录结构
这是 test.class.php
内的代码
<code>php</code><code><?php namespace Common; class test{ public function __construct(){ } } </code></code>
这是 IndexController.class.php
下的代码
<code>php</code><code><?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $test = new \Common\test(); } } </code></code>
我想达到的效果是在 test.class.php
下不把命名空间命名成 namespace Common\Common;
而是命名为 namespace Common;
也能在 IndexController.class.php
实例化 test.class.php
这样就可以减少一个目录,因为我在另一个业务里有一个目录名是变量 想跳过那个目录 能实现上图的实例吗 真心求解答
能。
推荐一篇文章:《PHP 命名空间 解惑》
如果使用自动加载的话是不能更改自动加载的规则的,你可以利用 import或者vendor来引入类库,没有必要去纠结。如果你真的要这么做 那么类库映射可以帮到你。查看文档:http://document.thinkphp.cn/manual_3_2.html#autoload