首页 >社区问答列表 >致命错误: Class 'app\facade\Test' not found

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

[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!');
   }

  • Peter-Zhu
  • Peter-Zhu    2019-10-19 09:06:431楼

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

    +0添加回复

  • 回复

    多谢 问题已经解决。

    Blue  作者 · 2019-10-20 09:53:13
    回复