thinkphp5 助手函数

助手函数的好处:

  1. 不要引用库方便快捷
  2. 助手函数 就好比是 很多编辑器的快捷键一样

 

助手函数的不好的地方:

  1. 比如db函数影响性能,Db助手函数的每次重新连接数据库的,作者跟新了框架,db助手函数增加了第三个参数用于控制是否每次重新连接的
  2. 大部分对性能影响很少
  3. 面向对象思想有冲突,命名空间思想不太符合(个别人的言论)

助手函数描述
abort 中断执行并发送HTTP状态码;action 调用控制器类的操作;cache 缓存管理;config 获取和设置配置参数;controller 实例化控制器;cookieCookie管理;db 实例化数据库类;debug 调试时间和内存占用;dump 浏览器友好的变量输出;exception 抛出异常处理;halt 变量调试输出并中断执行;import 导入所需的类库;input 获取输入数据 支持默认值和过滤;json JSON数据输出;jsonp JSONP数据输出;lang 获取语言变量值;load_trait快速导入Traits PHP5.5 以上无需调用;model 实例化Model;redirect 重定向输出;request 实例化Request对象;response 实例化Response对象;session Session管理;trace 记录日志信息;token 生成表单令牌输出;url Url生成;validate 实例化验证器;vendor 快速导入第三方框架类库;view 渲染模板输出;widget 渲染输出Widget;xmxml数据输出。


load_trait:快速导入Traits,PHP5.5以上无需调用

  1. /**
  2.  * 快速导入Traits PHP5.5以上无需调用
  3.  * @param string    $class trait库
  4.  * @param string    $ext 类库后缀
  5.  * @return boolean
  6.  */
  7. load_trait($class, $ext = EXT)

复制代码

exception:抛出异常处理

  1. /**
  2.  * 抛出异常处理
  3.  * @param string    $msg  异常消息
  4.  * @param integer   $code 异常代码 默认为0
  5.  * @param string    $exception 异常类
  6.  *
  7.  * @throws Exception
  8.  */
  9. exception($msg, $code = 0, $exception = '')

复制代码

debug:记录时间(微秒)和内存使用情况

  1. /**
  2.  * 记录时间(微秒)和内存使用情况
  3.  * @param string            $start 开始标签
  4.  * @param string            $end 结束标签
  5.  * @param integer|string    $dec 小数位 如果是m 表示统计内存占用
  6.  * @return mixed
  7.  */
  8. debug($start, $end = '', $dec = 6)

复制代码

lang:获取语言变量值

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

复制代码

config:获取和设置配置参数

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

复制代码

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

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

复制代码

widget:渲染输出Widget

  1. /**
  2.  * 渲染输出Widget
  3.  * @param string    $name Widget名称
  4.  * @param array     $data 传入的参数
  5.  * @return mixed
  6.  */
  7. widget($name, $data = [])

复制代码

model:实例化Model

  1. /**
  2.  * 实例化Model
  3.  * @param string    $name Model名称
  4.  * @param string    $layer 业务层名称
  5.  * @param bool      $appendSuffix 是否添加类名后缀
  6.  * @return \think\Model
  7.  */
  8. model($name = '', $layer = 'model', $appendSuffix = false)

复制代码

validate:实例化验证器

  1. /**
  2.  * 实例化验证器
  3.  * @param string    $name 验证器名称
  4.  * @param string    $layer 业务层名称
  5.  * @param bool      $appendSuffix 是否添加类名后缀
  6.  * @return \think\Validate
  7.  */
  8. validate($name = '', $layer = 'validate', $appendSuffix = false)

复制代码

db:实例化数据库类

  1. /**
  2.  * 实例化数据库类
  3.  * @param string        $name 操作的数据表名称(不含前缀)
  4.  * @param array|string  $config 数据库配置参数
  5.  * @param bool          $force 是否强制重新连接
  6.  * @return \think\db\Query
  7.  */
  8. db($name = '', $config = [], $force = true)

复制代码

controller:实例化控制器,格式:[模块/]控制器

  1. /**
  2.  * 实例化控制器 格式:[模块/]控制器
  3.  * @param string    $name 资源地址
  4.  * @param string    $layer 控制层名称
  5.  * @param bool      $appendSuffix 是否添加类名后缀
  6.  * @return \think\Controller
  7.  */
  8. controller($name, $layer = 'controller', $appendSuffix = false)

复制代码

action:调用模块的操作方法,参数格式:[模块/控制器/]操作

  1. /**
  2.  * 调用模块的操作方法 参数格式 [模块/控制器/]操作
  3.  * @param string        $url 调用地址
  4.  * @param string|array  $vars 调用参数 支持字符串和数组
  5.  * @param string        $layer 要调用的控制层名称
  6.  * @param bool          $appendSuffix 是否添加类名后缀
  7.  * @return mixed
  8.  */
  9. action($url, $vars = [], $layer = 'controller', $appendSuffix = false)

复制代码

import:导入所需的类库,同java的Import,本函数有缓存功能

  1. /**
  2.  * 导入所需的类库 同java的Import 本函数有缓存功能
  3.  * @param string    $class 类库命名空间字符串
  4.  * @param string    $baseUrl 起始路径
  5.  * @param string    $ext 导入的文件扩展名
  6.  * @return boolean
  7.  */
  8.  import($class, $baseUrl = '', $ext = EXT)

复制代码

vendor:快速导入第三方框架类库,所有第三方框架的类库文件统一放到系统的Vendor目录下面

  1. /**
  2.  * 快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面
  3.  * @param string    $class 类库
  4.  * @param string    $ext 类库后缀
  5.  * @return boolean
  6.  */
  7. vendor($class, $ext = EXT)

复制代码

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

  1. /**
  2.  * 浏览器友好的变量输出
  3.  * @param mixed     $var 变量
  4.  * @param boolean   $echo 是否输出 默认为true 如果为false 则返回输出字符串
  5.  * @param string    $label 标签 默认为空
  6.  * @return void|string
  7.  */
  8. dump($var, $echo = true, $label = null)

复制代码

url:Url生成

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

复制代码

session:Session管理

  1. /**
  2.  * Session管理
  3.  * @param string|array  $name session名称,如果为数组表示进行session设置
  4.  * @param mixed         $value session值
  5.  * @param string        $prefix 前缀
  6.  * @return mixed
  7.  */
  8. session($name, $value = '', $prefix = null)

复制代码

cookie:Cookie管理

  1. /**
  2.  * Cookie管理
  3.  * @param string|array  $name cookie名称,如果为数组表示进行cookie设置
  4.  * @param mixed         $value cookie值
  5.  * @param mixed         $option 参数
  6.  * @return mixed
  7.  */
  8. cookie($name, $value = '', $option = null)

复制代码

cache:缓存管理

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

复制代码

trace:记录日志信息

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

复制代码

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')

复制代码

view:渲染模板输出

  1. /**
  2.  * 渲染模板输出
  3.  * @param string    $template 模板文件
  4.  * @param array     $vars 模板变量
  5.  * @param array     $replace 模板替换
  6.  * @param integer   $code 状态码
  7.  * @return \think\response\View
  8.  */
  9. view($template = '', $vars = [], $replace = [], $code = 200)

复制代码

json:获取Json对象实例

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

复制代码

jsonp:获取Jsonp对象实例

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

复制代码

xml:获取xml对象实例

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

复制代码

redirect:获取Redirect对象实例

  1. /**
  2.  * 获取\think\response\Redirect对象实例
  3.  * @param mixed         $url 重定向地址 支持Url::build方法的地址
  4.  * @param array|integer $params 额外参数
  5.  * @param integer       $code 状态码
  6.  * @return \think\response\Redirect
  7.  */
  8. redirect($url = [], $params = [], $code = 302)

复制代码

abort:抛出HTTP异常

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

复制代码

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

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

复制代码

token:生成表单令牌

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

复制代码

 

你可能感兴趣的:(php)