TP5 Fatal error: Class 'think\Route' not found

2023-11-08

1、使用验证码了时:使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha

报错:Fatal error: Class 'Route' not found in D:\WWW\JVS\tp5\vendor\topthink\think-captcha\src\helper.php on line 12

查看代码:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------

Route::get('captcha/[:id]', "\\think\\captcha\\CaptchaController@index");

Validate::extend('captcha', function ($value, $id = '') {
    return captcha_check($value, $id);
});

Validate::setTypeMsg('captcha', ':attribute错误!');

修改为:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------

\think\Route::get('captcha/[:id]', "\\think\\captcha\\CaptchaController@index");

\think\Validate::extend('captcha', function ($value, $id = "") {
    return captcha_check($value, $id, (array)\think\Config::get('captcha'));
});

\think\Validate::setTypeMsg('captcha', '验证码错误!');

就可以访问了。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TP5 Fatal error: Class 'think\Route' not found 的相关文章

  • thinkphp根据时间戳查询时间范围内的记录

    这是获取当月月初和月末的时间戳 beginThismonth 61 mktime 0 0 0 date 39 m 39 1 date 39 Y 39 endThismonth 61 mktime 23 59 59 date 39 m 39
  • thinkphp中display调用模板文件详…

    模板变量赋值后就需要调用模板文件来输出相关的变量 xff0c 模板调用通过display方法来实现 我们在操作方法的最后使用 xff1a this gt display 就可以输出模板 xff0c 根据前面的模板定义规则 xff0c 因为系
  • thinkphp6 入门(4)--数据库操作 增删改查

    一 设计数据库表 比如我新建了一个数据库表 名为test 二 配置数据库连接信息 本地测试 直接在 env中修改 不用去config database php中修改 正式环境 三 增删改查 引入Db库 use think facade Db
  • 微信公众号配置token

    1 在微信公众平台开发 基本设置页面 点击 修改配置 按钮 填写服务器地址 URL Token和EncodingAESKey token可以任意填写 对应验证的token URL对应是可以访问到 验证token的方法 的链接 2 代码中进行
  • thinkphp6 入门(3)--获取GET、POST请求的参数值

    一 Request对象 thinkphp提供了Request对象 其可以 支持对全局输入变量的检测 获取和安全过滤 支持获取包括 GET POST REQUEST SERVER SESSION COOKIE ENV等系统变量 以及文件上传信
  • ThinkCMF后台页面模板demo

    index列表页面模板
  • tp5在数据库中获取随机数据

    private function random data num table where field order pk id countcus Db name table gt field pk gt where where gt sele
  • TP5.1使用JWT进行Token令牌生成与验证

    传统互联网项目在实现保持登录状态 退出登录 接口请求等功能时会使用Session 但是众所周知Session数据在产生后会存储与服务器端 所以当用户量达到一定程度会相应影响到服务器的性能 且Session在前后端分离的项目中或是多服务器项目
  • 【PHP发送邮件】PHP实现发送邮件

    PHP发送邮件 Thinkphp直接使用 其他框架修改使用 1 安装 composer require phpmailer phpmailer 2 填写配置表 配置文件mail php
  • Thinkphp 如何自动验证及验证规则

    在添加数据或者创建数据的时候 我们一般对数据进行处理 ThinkPHP模型层提供的一种数据验证方法 可以在使用create创建数据对象的时候自动进行数据验证 1 自动验证的用法 namespace Home Model use Think
  • ThinkPHP5之多语言切换

    T和inkPHP5的多语言切换是个人比较欣赏的一点 真是佩服设计者 怎么想到多语言切换的 在实际开发过程中 往往不是单一语言的项目 涉及多语言的使用 这时需要多语言切换 关键函数 Lang setAllowLangList 多语言的切换函数
  • TP5 FIND_IN_SET和数组组合成查询条件

    直接上代码 我的是TP5 0 22版本 map exp Db raw FIND IN SET 字段所包含的值 字段 map status 1
  • TP5 阿里云短信验证

    方法一 1 composer下载 composer require mrgoon aliyun sms 2 验证方法代码 短信验证 public function sms Request request 接收参数 tel request g
  • 解决nginx负载均衡的session共享问题

    查了一些资料 看了一些别人写的文档 总结如下 实现nginx session的共享 PHP服务器有多台 用nginx做负载均衡 这样同一个IP访问同一个页面会被分配到不同的服务器上 如果session不同步的话 就会出现很多问题 比如说最常
  • FastAdmin的一个小BUG,无法正常识别驼峰命名法的控制器名

    FastAdmin中内置了权限管理模块 在应用的过程中 控制器名经常会是两个单词 比如NotifyMessage 这是控制器名 在设置权限时 我们需要写成 notify message 可是这样设置后 会提示没有权限 而写成notifyme
  • PHP实现苹果(IOS)内购(IAP)

    反反复复经过多次重写 内部需要 发现苹果使用PHP来验证苹果内购数据是否正确并不是一件很难的事情 我把我的一些心得写出来 以供以后有这方面需求的小伙伴参考 以PHP语言为例 谁让PHP是最好的语言呢 首先要知道苹果内购分沙箱环境和正式环境
  • tp5的分页方法 paginate

    tp5的分页方法paginate 一共有三个参数 其中 listRows可以为整型或者数组 当是数组的时候 你传入的 config就会失效 原因是 paginate的源代码 所以说 如果你想重新配置参数 那 listRows就传数组 否则的
  • 关于TP5多语言BUG的解决办法(直接上代码)

    按照手册配置 默认语言没有反应 跳转页面之后 也没有检测当前的语言 很尴尬 最大的bug在这里 1 请用下面代码覆盖 thinkPhp library think Lang php 里面的detect 自动检测语言方法 自动侦测设置获取语言
  • ThinkPHP5多语言切换项目实战

    ThinkPHP5多语言切换实战 1 在配置文件中开启多语言配置 2 然后添加多语言目录 这里创建你需要的语言包 在语言包里定义需要翻译的文本 中英文数组的键名写成一致 然后在html文件里输入 lang 键名 对应的键名 就是下图的写法
  • thinkphp6 入门(6)--中间件是什么 怎么用

    一 什么是中间件 当客户端发送请求至服务器时 HTTP请求会经过多个中间件 最后返回响应给客户端 中间件可以 在请求到达目标控制器或动作之前对请求进行操作 可以在响应离开目标控制器或动作之前对响应进行操作 二 中间件的作用 我们可以在不修改

随机推荐

  • 程序员的底层思维:逻辑思维

    更多关于思维能力的内容 尽在我的新书 程序员必备的思维能力 你讲话要有逻辑 你这逻辑不对 你的底层逻辑是什么 说说你的逻辑思维能力体现在哪儿 在日常交流中 我们会频繁的使用 逻辑 这个词 但能够清晰的说出逻辑的定义 什么是逻辑 应该不多 能
  • 安装anaconda 报错 failed to create menus

    报错发现百度搜索的解决办法五花八门 实际试过几个不能有效解决问题 遂专心研究出错日志 发现报错找不到python3 X dll 遂猜测是未安装好python3 7所致 回忆起可能是与安装的是32位而不是64位的版本有关 遂卸载python3
  • Julia教程:Julia语言入门

    正如我在 朱莉娅是什么 Julia是一种用于数值计算的免费开源高级 高性能动态编程语言 它将动态语言的开发便利性与已编译的静态类型语言的性能相结合 它设计用于科学计算 机器学习 数据挖掘 大规模线性代数 分布式计算和并行计算 并且易于使用P
  • 【深度探索STL】空间配置器(三) 第二级配置器

    考虑到小型区块所可能造成的内存破碎问题 SGI 设计了双层级配置器 第一级配置器参见博文 http blog csdn net wenqian1991 article details 19566499 这里则学习第二级配置器 第二级配置器的
  • plsql的安装与部署

    plsql是什么 PL SQL Developer是一个集成开发环境 专门开发面向Oracle数据库的应用 PL SQL也是一种程序语言 叫做过程化SQL语言 Procedural Language SQL PL SQL是Oracle数据库
  • GMAT Sentence Correction(3): 时态

    Sentence Correction句子改错是GMAT考试中的一个项目 用于考察正式英语的书写能力 通过研究GMAT句子改错可以提高英语语法 遣词造句更加严谨整洁 tense时态问题属于GMAT Sentence Correction考察
  • grpc之Java实战proto文件篇

    grpc之Java实战proto文件篇 proto文件的编写 什么是protobuf proto文件的编写 通过proto文件生成代码需要的pom依赖 protobuf插件在idea的安装 proto文件的编写 什么是protobuf 协议
  • FreeRTOS问题

    RTOS面试常问题目 freertos面试题 Ricardoxxx的博客 CSDN博客 一 freertos问从上电到启动的流程 任务有几种优先级 任务调度有哪几种方式 对freertos的认识和理解 1 freertos问从上电到启动的流
  • java double 小数点后两位小数_java实现double保留小数点后两位小数

    一 返回double型的 1 能四舍五入double d 114 145 d double Math round d 100 100 System out println d 2 BigDecimal ROUND HALF UP表示四舍五入
  • python冲击二级---基本库turtle,海龟绘图详解,史上最全,没有之一

    turtle 海龟绘图 海龟绘图很适合用来引导孩子学习编程 最初来自于 Wally Feurzeig Seymour Papert 和 Cynthia Solomon 于1967 年所创造的 Logo 编程语言 请想象绘图区有一只机器海龟
  • 软工实习日记14

    今天的主要工作是使用shiro框架实现权限管理以及熟悉springcloud eureka 下面将给出关键代码和流程 controller层 LoginController java PostMapping login public Str
  • AI绘画 stable diffusion Midjourney 官方GPT文档 AIGC百科全书资料收集

    教学AI绘画 AIGC工具 SD教程 推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画 AI讲话 翻译 GPU点亮AI想象空间 AIGC和
  • Prometheus 源码解读(一)

    Prometheus 源码解读 一 Prometheus 是云原生监控领域的事实标准 越来越多的开源项目开始支持 Prometheus 监控数据格式 从本篇开始 我将和大家一起阅读分析 Prometheus 源码 学习 Prometheus
  • 置换环算法

    置换环算法 2023 05 22 这是由abc302 G所带来新的算法学习 置换环 虽然但是我还是没弄懂G是怎么写的 烦死啦 置换环的作用 求出通过交换数组的元素的最少次数 来得到按照某种指定规则进行排序的数组 核心思想 将每个位置 i 上
  • 一次Binder通信最大可以传输多大的数据?

    前言 在第六章中 我通过匿名共享内存的方式解决Binder通信是无法传递大数据的问题 一次Binder通信最大可以传输是1MB 8KB PS 8k是两个pagesize 一个pagesize是申请物理内存的最小单元 但是这个答案对不对呢 我
  • Qt编程遇到的typedef

    一 主要用法 1 定义一种类型的别名 typedef char Pchar 那么char a等价于Pchar a 用typedef定义变量别名的好处在于如果遇到不同平台对数据类型的不同支持 可以只在typedef定义处进行修改 2 方便结构
  • pkg-config 用法简介

    pkg config 用法简介 当我们写代码时 经常会调用第三方的库 这些第三方的库的安装路径在每台电脑上可能都会不同 所以如果我们把这些库的路径写死 那么别人拿到我们的代码编译时就会遇到各种问题 为了解决这个问题 就有了 pkg conf
  • Oracle 11g 下载及安装教程

    下载Oracle 11g R2 for Windows版本 官网的下载地址 Oracle 1of 2 Oracle 2of 2 但是亲测该服务器为美国服务器 下载速度简直不要太难受 因此附上网盘链接 Oracle百度网盘下载地址 点击自动跳
  • Spring MVC 教程,快速入门,深入分析

    资源下载 Spring MVC 教程 快速入门 深入分析V1 1 pdf SpringMVC核心配置文件示例 rar 作者 赵磊 博客 http elf8848 iteye com 目录 一 前言 二 spring mvc 核心类与接口 三
  • TP5 Fatal error: Class 'think\Route' not found

    1 使用验证码了时 使用Composer安装think captcha扩展包 composer require topthink think captcha 报错 Fatal error Class Route not found in D