PHP 字符串中 {} 的使用

PHP

当字符串中存在 $ 时,PHP 引擎将尽可能多的查找字符串作为变量名,为了防止变量名称和字符串中的其他内容混为一体,当匹配到不符合变量名称的命名规范才停止匹配,可以使用 {} 将变量名称作为一个整体使用

辰风沐阳 阅读 2003 2021-11-18

ThinkTemplate 模板引擎

ThinkPHP TP6

ThinkTemplate是一个基于XML的性能卓越的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,支持自定义标签库,一直作为ThinkPHP的内置模板引擎,现已经支持独立使用。

辰风沐阳 阅读 2342 2021-11-14

TP6.0 模型获取器

ThinkPHP TP6

获取器的作用是对模型实例的(原始)数据做出自动处理。一个获取器对应模型的一个特殊方法(该方法必须为public类型),而且必须遵循框架的获取器方法名命名规范,命名规范: getFieldNameAttr, FieldName 为数据表字段的大驼峰转换

辰风沐阳 阅读 2627 2021-11-08

TP6.0 空控制器: 健壮系统服务

ThinkPHP TP6

当系统找不到指定的控制器名称的时候,系统会尝试定位当前应用下的空控制器(Error)类。单应用和多应用模式都支持空控制器,使用框架的空控制器可以使其当控制器不存在时 api 应用始终返回 json数据格式,进而达到健壮系统服务的目的

辰风沐阳 阅读 2580 2021-11-07

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

Composer

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

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

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

PHP JWT Composer

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

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

TP6.0 验证码 topthink/think-captcha

ThinkPHP TP6

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

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

ThinkPHP8 自定义指令

ThinkPHP TP6 TP8

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

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

PHP 设计模式之装饰器模式

PHP

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

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

TP6.0 模型的关联删除

ThinkPHP TP6

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

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