当前位置: 首页 > 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.认证域 一、什么是安全策略 传统的包过滤防火…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...