当前位置: 首页 > news >正文

ThinkPHP6的助手函数汇总

原文地址

abort(): 抛出 HTTP 异常

1.  /**
2.   * 抛出 HTTP 异常
3.   * @param integer|Response $code    状态码 或者 Response 对象实例
4.   * @param string           $message 错误信息
5.   * @param array            $header  参数
6.   */
7.  abort($code, string $message = '', array $header = [])

app(): 快速获取容器中的实例 支持依赖注入

1.  /**
2.   * 快速获取容器中的实例 支持依赖注入
3.   * @param string $name        类名或标识 默认获取当前应用实例
4.   * @param array  $args        参数
5.   * @param bool   $newInstance 是否每次创建新的实例
6.   * @return object|App
7.   */
8.  app(string $name = '', array $args = [], bool $newInstance = false)

bind(): 绑定一个类到容器

1.  /**
2.   * 绑定一个类到容器
3.   * @param string|array $abstract 类标识、接口(支持批量绑定)
4.   * @param mixed        $concrete 要绑定的类、闭包或者实例
5.   * @return Container
6.   */
7.  bind($abstract, $concrete = null)

cache(): 缓存管理

1.  /**
2.   * 缓存管理
3.   * @param string $name    缓存名称
4.   * @param mixed  $value   缓存值
5.   * @param mixed  $options 缓存参数
6.   * @param string $tag     缓存标签
7.   * @return mixed
8.   */
9.  cache(string $name = null, $value = '', $options = null, $tag = null)

config(): 获取和设置配置参数

1.  /**
2.   * 获取和设置配置参数
3.   * @param string|array $name  参数名
4.   * @param mixed        $value 参数值
5.   * @return mixed
6.   */
7.  config($name = '', $value = null)

env(): 获取环境变量值

1.  /**
2.   * 获取环境变量值
3.   * @access public
4.   * @param string $name    环境变量名(支持二级 . 号分割)
5.   * @param string $default 默认值
6.   * @return mixed
7.   */
8.  env(string $name = null, $default = null)

cookie(): Cookie 管理

1.  /**
2.   * Cookie 管理
3.   * @param string $name   cookie 名称
4.   * @param mixed  $value  cookie 值
5.   * @param mixed  $option 参数
6.   * @return mixed
7.   */
8.  cookie(string $name, $value = '', $option = null)

session(): Session 管理

1.  /**
2.   * Session 管理
3.   * @param string $name  session 名称
4.   * @param mixed  $value session 值
5.   * @return mixed
6.   */
7.  session($name = '', $value = '')

download(): 获取 \ think\response\Download 对象实例

1.  /**
2.   * 获取 \ think\response\Download 对象实例
3.   * @param string $filename 要下载的文件
4.   * @param string $name     显示文件名
5.   * @param bool   $content  是否为内容
6.   * @param int    $expire   有效期(秒)
7.   * @return \think\response\File
8.   */
9.  download(string $filename, string $name = '', bool $content = false, int $expire = 180)

dump(): 浏览器友好的变量输出

1.  /**
2.   * 浏览器友好的变量输出
3.   * @param mixed $vars 要输出的变量
4.   * @return void
5.   */
6.  dump(...$vars)

halt(): 调试变量并且中断输出

1.  /**
2.   * 调试变量并且中断输出
3.   * @param mixed $vars 调试变量或者信息
4.   */
5.  halt(...$vars)

event(): 触发事件

1.  /**
2.   * 触发事件
3.   * @param mixed $event 事件名(或者类名)
4.   * @param mixed $args  参数
5.   * @return mixed
6.   */
7.  event($event, $args = null)

input(): 获取输入数据 支持默认值和过滤

1.  /**
2.   * 获取输入数据 支持默认值和过滤
3.   * @param string $key     获取的变量名
4.   * @param mixed  $default 默认值
5.   * @param string $filter  过滤方法
6.   * @return mixed
7.   */
8.  input(string $key = '', $default = null, $filter = '')

invoke(): 调用反射实例化对象或者执行方法 支持依赖注入

1.  /**
2.   * 调用反射实例化对象或者执行方法 支持依赖注入
3.   * @param mixed $call 类名或者 callable
4.   * @param array $args 参数
5.   * @return mixed
6.   */
7.  invoke($call, array $args = [])

json(): 获取 \ think\response\Json 对象实例

1.  /**
2.   * 获取 \ think\response\Json 对象实例
3.   * @param mixed $data    返回的数据
4.   * @param int   $code    状态码
5.   * @param array $header  头部
6.   * @param array $options 参数
7.   * @return \think\response\Json
8.   */
9.  json($data = [], $code = 200, $header = [], $options = [])

jsonp(): 获取 \ think\response\Jsonp 对象实例

1.  /**
2.   * 获取 \ think\response\Jsonp 对象实例
3.   * @param mixed $data    返回的数据
4.   * @param int   $code    状态码
5.   * @param array $header  头部
6.   * @param array $options 参数
7.   * @return \think\response\Jsonp
8.   */
9.  jsonp($data = [], $code = 200, $header = [], $options = [])

lang(): 获取语言变量值

1.  /**
2.   * 获取语言变量值
3.   * @param string $name 语言变量名
4.   * @param array  $vars 动态变量值
5.   * @param string $lang 语言
6.   * @return mixed
7.   */
8.  lang(string $name, array $vars = [], string $lang = '')

parse_name(): 字符串命名风格转换

1.  /**
2.   * 字符串命名风格转换
3.   * type 0 将 Java 风格转换为 C 的风格 1 将 C 风格转换为 Java 的风格
4.   * @param string $name    字符串
5.   * @param int    $type    转换类型
6.   * @param bool   $ucfirst 首字母是否大写(驼峰规则)
7.   * @return string
8.   */
9.  parse_name(string $name, int $type = 0, bool $ucfirst = true)

redirect(): 获取 \ think\response\Redirect 对象实例

1.  /**
2.   * 获取 \ think\response\Redirect 对象实例
3.   * @param string $url  重定向地址
4.   * @param int    $code 状态码
5.   * @return \think\response\Redirect
6.   */
7.  redirect(string $url = '', int $code = 302)

request(): 获取当前 Request 对象实例

1.  /**
2.   * 获取当前 Request 对象实例
3.   * @return Request
4.   */
5.  request()

response(): 创建普通 Response 对象实例

1.  /**
2.   * 创建普通 Response 对象实例
3.   * @param mixed      $data   输出数据
4.   * @param int|string $code   状态码
5.   * @param array      $header 头信息
6.   * @param string     $type
7.   * @return Response
8.   */
9.  response($data = '', $code = 200, $header = [], $type = 'html')

token(): 获取 Token 令牌

1.  /**
2.   * 获取 Token 令牌
3.   * @param string $name 令牌名称
4.   * @param mixed  $type 令牌生成方法
5.   * @return string
6.   */
7.  token(string $name = '__token__', string $type = 'md5')

token_field(): 生成令牌隐藏表单

1.  /**
2.   * 生成令牌隐藏表单
3.   * @param string $name 令牌名称
4.   * @param mixed  $type 令牌生成方法
5.   * @return string
6.   */
7.  token_field(string $name = '__token__', string $type = 'md5')

token_meta(): 生成令牌 meta

1.  /**
2.   * 生成令牌 meta
3.   * @param string $name 令牌名称
4.   * @param mixed  $type 令牌生成方法
5.   * @return string
6.   */
7.  token_meta(string $name = '__token__', string $type = 'md5')

trace(): 记录日志信息

1.  /**
2.   * 记录日志信息
3.   * @param mixed  $log   log 信息 支持字符串和数组
4.   * @param string $level 日志级别
5.   * @return array|void
6.   */
7.  trace($log = '[think]', string $level = 'log')

url(): Url 生成

1.  /**
2.   * Url 生成
3.   * @param string      $url    路由地址
4.   * @param array       $vars   变量
5.   * @param bool|string $suffix 生成的 URL 后缀
6.   * @param bool|string $domain 域名
7.   * @return UrlBuild
8.   */
9.  url(string $url = '', array $vars = [], $suffix = true, $domain = false)

validate(): 生成验证对象

1.  /**
2.   * 生成验证对象
3.   * @param string|array $validate      验证器类名或者验证规则数组
4.   * @param array        $message       错误提示信息
5.   * @param bool         $batch         是否批量验证
6.   * @param bool         $failException 是否抛出异常
7.   * @return Validate
8.   */
9.  validate($validate = '', array $message = [], bool $batch = false, bool $failException = true)

view(): 渲染模板输出

1.  /**
2.   * 渲染模板输出
3.   * @param string   $template 模板文件
4.   * @param array    $vars     模板变量
5.   * @param int      $code     状态码
6.   * @param callable $filter   内容过滤
7.   * @return \think\response\View
8.   */
9.  view(string $template = '', $vars = [], $code = 200, $filter = null)

display(): 渲染模板输出

1.  /**
2.   * 渲染模板输出
3.   * @param string   $content 渲染内容
4.   * @param array    $vars    模板变量
5.   * @param int      $code    状态码
6.   * @param callable $filter  内容过滤
7.   * @return \think\response\View
8.   */
9.  display(string $content, $vars = [], $code = 200, $filter = null)

xml(): 获取 \ think\response\xml 对象实例

1.  /**
2.   * 获取 \ think\response\Xml 对象实例
3.   * @param mixed $data    返回的数据
4.   * @param int   $code    状态码
5.   * @param array $header  头部
6.   * @param array $options 参数
7.   * @return \think\response\Xml
8.   */
9.  xml($data = [], $code = 200, $header = [], $options = [])

app_path(): 获取当前应用目录

1.  /**
2.   * 获取当前应用目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  app_path($path = '')

base_path(): 获取应用基础目录

1.  /**
2.   * 获取应用基础目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  base_path($path = '')

config_path(): 获取应用配置目录

1.  /**
2.   * 获取应用配置目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  config_path($path = '')

public_path(): 获取 web 根目录

1.  /**
2.   * 获取 web 根目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  public_path($path = '')

runtime_path(): 获取应用运行时目录

1.  /**
2.   * 获取应用运行时目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  runtime_path($path = '')

root_path(): 获取项目根目录

1.  /**
2.   * 获取项目根目录
3.   *
4.   * @param string $path
5.   * @return string
6.   */
7.  root_path($path = '')

最后:尽量少的使用助手函数,项目中助手函数过多容易造成运行效率慢;

相关文章:

ThinkPHP6的助手函数汇总

原文地址 abort(): 抛出 HTTP 异常 1. /** 2. * 抛出 HTTP 异常 3. * param integer|Response $code 状态码 或者 Response 对象实例 4. * param string $message 错误信息 5. * param array $header 参数 6. */ 7. abort($code, string…...

·备忘录模式

备忘录模式 备忘录模式 备忘录模式 介绍:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先的状态。 实现:备忘录类,有一个私有状态属性&#xf…...

docker-学习-2

docker学习第二天 docker学习第二天1.docker和虚拟机的区别2.docker的底层隔离机制2.1 Namespaces(命名空间)2.1.1 什么是命名空间 2.2 Cgroups2.3 Union file systems2.4 Container format2.5 docker在底层如何做隔离的,如何进行资源限制的? 3. docker命…...

树--二叉树(C语言纯手凹)

目录 目录 1.什么是树?(不深入,仅做了解) 2.树的表示方式 2.1孩子兄弟表示法(左孩子右兄弟) 2.2孩子表示法 2.3双亲表示法 3.什么是二叉树 4.二叉树分类 4.1满二叉树 4.2完全二叉树 4.3二叉搜索树…...

TypeScript(七) 函数

1. TypeScript 函数 1.1. 函数的定义 函数就是包裹在花括号中的代码块,前面使用关键字function。 语法: // An highlighted block function function_name() {// 执行代码 }实例: function test() { // 函数定义console.log("我就是…...

学fpga和还是嵌入式?

具体要选哪个,更多还是看个人喜好还有基础知识结构。 我们先来明白下两者区别在哪? 1、嵌入式:分两部分,第一是嵌入式软件开发,主要与嵌入式操作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件…...

Day01-变量和数据类型课后练习-参考答案

文章目录 1、输出你最想说的一句话!2、定义所有基本数据类型的变量和字符串变量3、用合适类型的变量存储个人信息并输出4、定义圆周率PI5、简答题 1、输出你最想说的一句话! 编写步骤: 定义类 Homework1,例如:Homewo…...

Docker 数据管理、容器互联、网络与资源控制

一、docker数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data volumes)和数据卷容器(Datavolumes containers)。 1、数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立…...

密码加密——MD5与BCryptPasswordEncoder

目录 一、问题 二、密码加密 1、MD5密码加密 2、BCryptPasswordEncoder加密(推荐) 2.1 特点 2.2 使用步骤 一、问题 在数据库表中的密码都是明文存储的,安全性太低 需求: 将密码加密后存储,提高安全性 二、密码加密…...

利用外卖系统源码构建高效的在线订餐平台

在当今数字化时代,外卖服务已成为人们日常生活中不可或缺的一部分。为了满足用户需求,许多创业者和企业都希望搭建自己的在线订餐平台。利用现有的外卖系统源码,可以快速构建一个高效、安全的在线订餐平台。本文将介绍如何利用外卖系统源码来…...

数据分析数据 -(用数据讲故事)

书中有一句话我很喜欢- 献给大家 一个完美的设计,不是因为它没有多余的东西可以添加,而是它没有多余的部分可以删减 首先看几个对比的图形分析 处理工单和新增工单的随月份的变化趋势 这个图形的缺点就是 1: 月份对齐的情况 2:使用条形图需…...

如何运用5W2H分析法分析自己适合哪种办公室

随着时代的发展,办公室已经不再是传统的四壁之内,而是多种多样的形态,涵盖了开放式办公区、远程办公、共享办公空间等多种选择。对于刚刚创业的企业来说,选择一个适合自己发展的办公室至关重要。在这个过程中,运用5W2H…...

为什么考虑电子采购而非传统采购?

采购是重要的业务职能之一,为实现无缝运营而大规模采购商品或服务的行为。考虑到数字化转型带来的影响,决策者对于应维持传统采购还是转向电子采购或多或少会有困惑。 通过本文,你将更了解电子采购和传统采购,从而为业务连续性采…...

【git】git update-index --assume-unchanged(不改动.gitignore实现忽略文件)

文章目录 原因分析:添加忽略文件(取消跟踪)的命令:取消忽略文件(恢复跟踪)的命令:查看已经添加了忽略文件(取消跟踪)的命令: 原因分析: 已经维护的项目,文件已经被追踪,gitignore文件不方便修…...

科普类——无压缩图像传输带宽的计算(七)

无压缩图像传输带宽的计算 问题计算 问题 要计算1080p(1920x1080)分辨率的彩色图像在30帧每秒(fps)下的带宽需求,我们需要考虑图像的颜色深度(位深)和压缩情况。假设我们使用的是无压缩的RGB图…...

云原生周刊:K8s 1.26 到 1.29 版本的更新 | 2024.1.29

开源项目推荐 Skaffold Skaffold 是一个命令行工具,有助于 Kubernetes 应用程序的持续开发。您可以在本地迭代应用程序源代码,然后部署到本地或远程 Kubernetes 集群。Skaffold 处理构建、推送和部署应用程序的工作流程。它还提供构建块并描述 CI/CD 流…...

手机壳也能散热了?

作为一个玩了6年的王者荣耀玩家,手机发热真的很影响游戏体验!!游戏掉帧,性能下降很恼人,试过好几个散热工具,实际效果都不太好~ 自从入了Mate 60之后,看着这款微泵液冷壳毫无犹豫第…...

《微信小程序开发从入门到实战》学习九十七

7.3 表单组件 7.3.1 picke-view与picker-view-column组件 一个picker-view-column代表 一个滚动选择器子项,一个picker-view组件可以包含多个picker-view-column组件,这样可以一次性选择多项内容如年、月、日等。 picker-view-column组件中需包含多个…...

二极管漏电流对单片机ad采样偏差的影响

1,下图是常规的单片机采集电压电路,被测量电压经过电阻分压,给到mcu采集,反向二极管起到钳位作用,避免高压打坏mcu。 2,该电路存在的问题 二极管存在漏电流,会在100k电阻上产生叠加电压&#x…...

三、防御保护---防火墙安全策略篇

三、防御保护---防火墙安全策略篇 一、什么是安全策略二、安全策略的组成1.匹配条件2.动作3.策略标识 三、防火墙的状态检测和会话表1.会话表2.状态检测技术 四、ASPF--隐形通道五、用户认证1.用户认证的分类2.认证方式3.认证策略4.认证域 一、什么是安全策略 传统的包过滤防火…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...