首页 >社区问答列表 >在绑定facade中 关于namespace的问题

在绑定facade中 关于namespace的问题

在绑定facade遇到一个这个问题

//成功的绑定
Facade::bind('app\index\facade\Human','app\index\Common\Human');

Facade::bind('app\index\facade\Human','\app\index\Common\Human');

//失败的绑定
Facade::bind('\app\index\facade\Human','\app\index\Common\Human');

小白想知道为什么在绑定的时候app前面不能加\,不是指的从根开始找吗

QQ截图20190222151229.png

QQ截图20190222151312.png

  • 天蓬老师
  • 天蓬老师    2019-02-22 16:31:291楼

    这就如同你使用"use"关键字, 来给引用的类起别名一样, 默认是从根空间开始,  
    例如: 

    namespace test;
    use app\admin;
    
    // 与下面写法是完全一样的
    
    namespace test;
    user \app\admin;
    
    // 默认就是全局空间开始查找

    如果你想搞明白Facade::bind()参数, 可以查看Facade类的源码, 在源码中,有bind()方法的详细说明

    +0添加回复

  • 回复

    意思是前面虽然不加 \ 但是其实已经是从根开始查找了吗? 然后我看Facade源码 了解了它的绑定机制了 感谢老师!

    桃子  作者 · 2019-02-22 16:56:54
    回复