致命错误: Class 'app\facade\Test' not found
Blue
Blue 2019-10-17 21:33:48
0
3
1764

[0] ThrowableError in Demo2.php line 28

致命错误: Class 'app\facade\Test' not found

        * __call 当要调用的方法不存在或权限不足时,会自动调用__call 方法。         *__callStatic 当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。         *  方式一,在app\facade\Test定义protected static function getFacadeClass()         *  使用app\facade\Test 代理了 app\common\Test         * 如果没有在静态代理类中显示指定要绑定的类名,就需要动态显示绑定一下\think\Facade::bind();         * 方式二 不需要在此定义(app\facade\Test ),跟框架自带模板类似,使用\think\Facade::bind('app\facade\Test', 'app\common\Test');         **/        \think\Facade::bind('app\facade\Test','app\common\Test');        return \app\facade\Test::hello('today');    }}



源码

   public function index($name = 'WQ')
   {
//        $test = new \app\common\Test();
//        return $test->hello();   //此方式为动态方式访问


       /**
        *用静态方式访问。静态方式调用一个动态方法
        *需要给该类绑定一个静态代理的类,给一个静态马甲
        * __callStatic($method,$params){……}
        * __call 当要调用的方法不存在或权限不足时,会自动调用__call 方法。
        *__callStatic 当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。
        *  方式一,在app\facade\Test定义protected static function getFacadeClass()
        *  使用app\facade\Test 代理了 app\common\Test
        * 如果没有在静态代理类中显示指定要绑定的类名,就需要动态显示绑定一下\think\Facade::bind();
        * 方式二 不需要在此定义(app\facade\Test ),跟框架自带模板类似,使用\think\Facade::bind('app\facade\Test', 'app\common\Test');
        **/

       \think\Facade::bind('app\facade\Test','app\common\Test');
       return \app\facade\Test::hello('today is beatiful day!');
   }

Blue
Blue

全部回复(2)
小萝卜头

这是咋回事啊大哥  老师说的有点深奥 没懂

Peter-Zhu

给不存在Facade的类, 按框架的规则, 可以自定义它的门面

  • 回复 多谢 问题已经解决。
    Blue 作者 2019-10-20 09:53:13
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板