TP6.0记录

article/2025/9/28 0:55:49

记录:

1,启用多应用模式,需要安装拓展:

composer require topthink/think-multi-app

删除原有的controller文件 (必须删),新建自己的应用目录,修改config/app.php中的 开启多应用自动加载,auto_multi_app => true; 如果没有的话不用更改,然后就可以正常访问了 

2,模板引擎类不再内置到核心框架,需要安装拓展:

composer require topthink/think-view

3,动态更改配置参数的用法已经废弃,下面的用法不再支持:

//不再支持此写法
config('app.show_error_msg',false);

4,取消 了 think\Controller 类,原来的successerrorredirectresult方法需要自己在基础控制器类里面实现,fetch/display/assign等视图方法,必须改为调用think\facade\View类,也可以使用view助手函数方式。

View::assign('name', $name);
View::fetch();
或
view();

 5,Db类不再是静态类,需要使用think\facade\Db门面进行静态代理。

\think\facade\Db::name('user')->find();

6,数据库配置文件或者connect方法取消DSN数据库配置定义方式,全部采用数组方式配置定义。

//tp5
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8')->table('user')->find();//需改为tp6要求写法
Db::connect('db_config')    //并且按照新版的规范在数据库配置文件中增加db_config连接信息。->table('user')->find();

7,insert/insertGetId/insertAll方法的第二个replace参数已经取消,改为使用replace方法。

//tp5
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->insert($data, true);//tp6写法
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->replace()->insert($data);

8,取消了db和model助手函数。

9,取消Query类的setField方法,请直接使用data方法或者update方法。

10,取消Query类的setInc/setDec方法,统一使用inc/dec方法替代。例如:

Db::name('user')->where('id', 1)->inc('exp')->dec('score')->update();

11,取消查询eq/neq/gt/lt/egt/elt表达式,例如:

//tp5可用
Db::name('user')->where('id', 'egt', 1)->where('status', 'neq' ,1)->select();//tp6需改为:
Db::name('user')->where('id', '>=', 1)->where('status', '<>' ,1)->select();

12,无论使用Db类还是模型类查询,全部统一使用find/select方法,取消了之前模型类额外提供的get/all方法。同时取消的方法还包括getOrFail/allOrFail

13,模型的自动完成功能已经取消,请使用模型事件代替。

14,模型类的save方法不再支持where参数。

15,查询缓存调整:如果希望在更新和删除之后自动清除之前的查询缓存,必须在cache方法中传入key值而不是true

16,行为和Hook已经用新版的事件机制替代,需要把你的行为改成事件响应或者中间件(部分请求拦截的行为可以直接改为中间件)。

17,系统Facade类库的别名已经取消,因此不能再使用:

use Route;
Route::rule('hello/:name', 'index/hello');//改为:
use think\facade\Route;
Route::rule('hello/:name', 'index/hello');

18,Session新版默认不开启,必须为在全局中间件定义文件中添加 'think\middleware\SessionInit'

原来的Session::get() 可以获取全部的Session数据必须改成 Session::all()

19,判断查询的数据集是否为空:

$res = (new UserModel())->where([['numid','<>',0],['username','like','zhang%']])->field('numid,username')->select();
if($res->isEmpty()){echo '未查到1';
}else{echo '<pre>';print_r($res);
}

20,不要在控制器中使用包括dieexit在内的中断代码。如果你需要调试并中止执行,可以使用系统提供的halt()助手函数。

21,获取当前应用、控制器、方法:

app('http')->getName();
request()->controller(true);//加true返回小写
request()->action();

22,框架默认没有设置任何全局过滤规则,你可以在app\Request对象中设置filter全局过滤属性:

// 获取get变量 并且不进行任何过滤 即使设置了全局过滤
Request::get('name', '', null);

23,TP6.0改进了图形验证码插件,支持算术验证码,开启算术验证码:

打开 config/captcha.php

    // 是否使用算术验证码'math'     => true,

 


http://chatgpt.dhexx.cn/article/0kSeoyKc.shtml

相关文章

TP6.0 助手函数 env()

env 助手函数用于快速获取环境变量配置&#xff0c;复制框架根目录下的 .example.env 文件&#xff0c;另存为 .env 文件&#xff0c;即可读取环境变量配置&#xff0c;本文记录三种读取方式 ThinkPHP技术群: 828567087 1. 门面类 \think\facade\Env::get(database.ussername,…

TP6配置并使用gateway

进入项目根目录&#xff0c;composer 安装命令 composer require topthink/think-worker这样表示安装成功了 config目录下多出了gateway_worker.php、work.php、worker_server.php三个配置文件 gateway_worker.php就是GatewayWorker的配置文件 如图新建文件Events.php&#x…

tp5 post html,TP5基础

一、基础 project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录(可更改) │ ├─index 模块目录(可更改) │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块函数文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │ …

ThinkPHP 5.0常用助手函数

ThinkPHP 5.0常用助手函数 总结thinkphp手册&#xff0c;以及自己学习中用到的关于tp5的助手函数 首先看看手册给我们提供的助手函数目录&#xff1a; 下面是学习中自己常用到的助手函数 一、url() 一般我们学习中用到url助手函数最多的地方就是跳转页面&#xff0c;最常用的…

【毕业设计_课程设计】基于python的微信公众平台机器人的设计与实现

文章目录 0 项目说明项目介绍项目工程 0 项目说明 基于python的微信公众平台机器人的设计与实现 提示&#xff1a;适合用于课程设计或毕业设计&#xff0c;工作量达标&#xff0c;源码开放 项目介绍 1、NGINX做负载均衡&#xff0c;反向代理 nginx.conf是nginx配置文件&…

实现简单微信机器人

目前&#xff0c;随着人教育体系的提高&#xff0c;培养出专业性人才&#xff0c;为解决繁重的工作带来质的飞越&#xff0c;也就是微信机器人的开发&#xff0c;帮我们抵抗了绝大部分繁重的压力。 接下来向大家介绍的一所微信机器人其功能&#xff1a; 先来介绍下这款应用实现…

微信聊天发码机器人操作指南

目前智多星最新版为3.6.2版本&#xff08;如下图&#xff09; 使用指南如下&#xff1a; 常见指令与使用方法&#xff1a; 指令使用方法&#xff1a;对着自己微信&#xff08;每个微信都可以对自己发消息奥&#xff09;&#xff0c;发送如下指令即可修改机器人配置&#xff…

微信公众号机器人详细教程

文章目录 一.申请并配置机器人二.测试 一.申请并配置机器人 微信对话开放平台&#xff1a; https://openai.weixin.qq.com/依次如下&#xff1a; 扫码&#xff1a; 填写信息&#xff1a; 技能&#xff1a; 发布&#xff1a; 机器人信息编辑&#xff1a; 绑定应用&…

企业微信创建群机器人步骤

1.选择群&#xff0c;右键点击“管理聊天信息“ 2.添加机器人的信息 3.创建好的机器人都有一个唯一的Webhook地址&#xff0c;点击Webhook地址就可以看到文档说明&#xff0c;自动推送消息需要自行开发。 开发者中心地址&#xff1a;https://developer.work.weixin.qq.com/

微信智能对话机器人调用第三方云函数

这是一个通过给公众号绑定微信智能对话机器人调用第三方云函数实现用户信息查询 的简单示例。 一&#xff1a;微信智能对话机器人配置&#xff1a; 1&#xff1a;在“高级技能”中创建“查询用户”的技能&#xff0c;并创建对应的意图。 2&#xff1a;设置字典&#xff0c;也…

Python--微信智能聊天机器人

微信智能聊天机器人 import requests import itchat import time from threading import Timer 图灵机器人编号 如果大家感兴趣的可以登图灵官方网站申请一个自己的图灵小机器人 KEY ‘8f7fcbf19bab471e8067e2783e95b924’ def get_response(msg): apiUrl http://www.tul…

小程序智能聊天机器人(二)

小程序实战之会员支付流程 背景会员套餐设置获取套餐订单创建支付订单申请支付回调更新用户权益总结 背景 接上篇小程序智能聊天机器人&#xff08;一&#xff09;&#xff0c; 无论何种程序&#xff0c;在我们没有其他收益来源时&#xff0c;用户付费&#xff0c;是让我们回笼…

图灵机器人( 智能回复微信)及(智能聊天)

目录 一、什么是图灵机器人&#xff1f;二、帮你自动微信回复&#xff08;Python版&#xff09;三、图灵机器人智能聊天&#xff08;微信小程序版&#xff09; 一、什么是图灵机器人&#xff1f; 1、 图灵机器人简介&#xff1a; 是中文语境下智能度最高的“机器人大脑”&…

linux系统抓包命令

IP地址抓包&#xff1a;tcpdump -i any host 1.1.1.2 -n 端口抓包&#xff1a; tcpdump -i any port 6789 -n wireshak工具抓包&#xff1a;tcp.port 6789 过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包&#xff0c;ip.…

Linux 抓包命令,你会用吗?

点击关注公众号&#xff0c;Java干货及时送达 tcpdump是一个功能强大的命令行数据包分析器&#xff0c;它是通过监听服务器的网卡来获取数据包&#xff0c;所有通过网络访问的数据包都能获取到。它也提供了过滤器的功能&#xff0c;可以获取指定的网络、端口或协议的数据包 程序…

网络高级命令使用,Linux测试带宽,抓包,一篇解决。

目录 一&#xff0c;iperf测试带宽命令 二&#xff0c;详细网络设备信息 三&#xff0c;当前网络状态 四&#xff0c;抓包tcpdump 一&#xff0c;iperf测试带宽命令 iper -s 作为服务器 -c 作为客户机 -u 使用udp协议 -t 测试时间 -i 间隔时间 -n 要测试的量 -p 通过的端…

linux如何抓包如何分析

为什么要抓包 今天遇到一个bug&#xff0c;访问某接口的时候遇到了HTTP 413报错&#xff0c;意思就是&#xff0c;在网络中的某个节点觉得这个请求太大了&#xff0c;就拒绝了&#xff0c;返回了HTTP 413虽然理解是这么回事&#xff0c;但是要想解决这个问题&#xff0c;首先第…

Linux抓包命令集锦

相信抓包是程序员&#xff0c;运维工程师&#xff0c;架构师&#xff0c;都必不可少的一项技能。但是能够深入掌握好这门技艺的人&#xff0c;确实需要有开发&#xff0c;网络&#xff0c;运维&#xff0c;架构等"跨界”背景才能比较好的发挥抓包神技的威力。本文是纯干货…

怎么在Linux上抓包分析

怎么在Linux上抓包分析 1、在Linux上抓包 例如在Ubuntu上&#xff0c;用命令抓包&#xff0c; tcpdump tcp -i any -s0 -w desk.cap 用 sz desk.cap 把数据包导入本地Windows 2、在windows上用wireshark分析 用wireshark打开desk.cap wireshark筛选条件&#xff1a;tcp…

Linux之tcpdump抓包命令详解

目录 前言 1. 控制抓包行为 2. 控制信息如何显示 3. 控制显示什么数据 4. 过滤命令 4.1 地址过滤 4.2 协议及端口过滤 4.3 报文特征过滤 4.3.1 IP选项设置&#xff08;20字节&#xff0c;可变部分&#xff08;0-20)B&#xff0c;最大40字节&#xff09; 4.3.2 TCP选项…