Non-static method think\Route::get() should not be called statically

使用composer安装验证码类库后,访问indx/captcha会出现如下错误。

看字面意思错误与路由有关,但是仔细检查了,能确定路由没有问题,再访问

以前没有问题的页面发现都不能访问了。实在想不通为什么,然后就去 技术交流群 里面请教大神。

大神提供了两条思路:

    1、可能版本的问题,tp版本与安装的验证码类库版本不兼容。

    2、use错类,需要引入Route的代理类,而不是Route本身(这里用到了facade设计模式)

首先,按照第一条思路,项目的tp版本是5.1,安装的验证码类库版本是1.*,查阅了相关资料。发现验证码类库1.*适用于tp5.0,tp5.1可能不适用。最新的2.*才适用于tp5.1版本核心框架。

然后在命令行下更新验证码类库版本

composer require topthink/think-captcha=1.*


最后验证成功。

果然是版本的问题,以后要多多注意。

但第二条思路引入Route的代理类(facade设计模式),我会仔细研究下,因为设计模式的相关知识还是很重要的。
 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值