think关于php命名空间的问题 求解答啊

WBOY
发布: 2016-06-06 20:39:11
原创
945 人浏览过

如下图这是目录结构
think关于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 这样就可以减少一个目录,因为我在另一个业务里有一个目录名是变量 想跳过那个目录 能实现上图的实例吗 真心求解答

回复内容:

如下图这是目录结构
think关于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

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板