composer 安装扩展包时忽略版本匹配

Composer

执行 composer install 安装扩展包时遇到错误: Your requirements could not be resolved to an installable set of packages。这是因为当前PHP版本不匹配composer.json要求的版本,使用 --ignore-platform-reqs 参数可以忽略版本匹配

辰风沐阳 阅读 2491 2021-10-31

jwt token 鉴权验证 【firebase 5.x】

PHP JWT Composer

JWT全称: JSON Web Token,以 token 的方式代替传统的cookie、session模式,用于各服务器、客户端传递信息及签名验证,本文记录在TP6.0中使用JWT作为token验证的示例。

辰风沐阳 阅读 5000 2021-09-20

TP6.0 验证码 topthink/think-captcha

ThinkPHP TP6.0

topthink/think-captcha 是 ThinkPHP 官方团队开发的适用于 TP 各版本的验证码扩展包,该验证码扩展包目前有三个主版本: 1.x、2.x、3.x,分别适用于: TP5.0、TP5.1、TP6.0

辰风沐阳 阅读 2436 2021-09-09

ThinkPHP8 自定义指令

ThinkPHP TP6.0 TP8.0

本文介绍了在 ThinkPHP 框架中创建和使用自定义控制台指令的方法。主要内容包括:1. 通过 php think make:command 命令快速生成指令骨架;2. 指令类需继承think\console\Command 并实现 configure() 和 execute() 方法;3. 在配置文件中注册指令;4. 定义和使用指令参数(可选/必填)及选项(无值/必传值/可选值)。文中提供了完整的代码示例和调用方式,帮助开发者快速掌握自定义指令的开发流程。

辰风沐阳 阅读 2999 2021-08-28

PHP 设计模式之装饰器模式

PHP

装饰器模式是一种动态扩展对象功能的设计模式,通过组合而非继承实现功能叠加。文章以咖啡订单系统为例,演示如何通过组件接口、具体组件、抽象装饰器和具体装饰器四个核心结构实现该模式。基础咖啡可被牛奶、糖等装饰器层层包装,灵活组合出不同口味,避免继承导致的子类爆炸问题。该模式符合开闭原则,支持功能灵活组合和单一职责,但会增加代码复杂度和调试难度。

辰风沐阳 阅读 428 2021-08-17

TP6.0 模型的关联删除

ThinkPHP TP6.0

模型的关联删除是经常使用的模型特性之一。适用场景举例: 1、在删除文章的同时删除下面的评论 2、 删除用户的同时删除用户的多条评论和多条操作日志

辰风沐阳 阅读 2427 2021-08-16

ThinkPHP 伪静态配置

ThinkPHP

URL重写:可以通过URL重写隐藏应用的入口文件(通常是index.php),本文记录各种场景的伪静态配置方法。例如:PhpStudy、宝塔中的apache伪静态配置方法

辰风沐阳 阅读 7730 2021-07-29

PHP生成指定范围的随机小数

PHP

PHP本身并没有在指定范围内生成随机小数的函数, 但是这种场景会在很多地方用到。只能我们自己去实现这种算法, 本文记录使用PHP生成在指定范围内的随机小数算法几种方法

辰风沐阳 阅读 3146 2021-06-14

TP6.0 使用 phpoffice/phpspreadsheet 导入数据

PHP Composer ThinkPHP TP6.0

PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。使用表格批量导入数据也是很常见的一种场景,本文记录在TP6.0中如何读取表格数据,将数据添加到数据库中。该扩展库要求PHP版本7.2+,和TP6.0版本要求一致

辰风沐阳 阅读 3074 2021-06-12

TP6 时间查询

ThinkPHP TP6.0

框架内置了常用的时间查询方法,并且可以自动识别时间字段的类型。本文记录常用的时间查询方法,便于下次使用快速上手,有些是官方文档上没有的,官方文档只是列出部分查询

辰风沐阳 阅读 2859 2021-06-08