查看: 367|回复: 0

[PHP代码] ThinkPHP5中的助手函数

发表于 2018-1-3 08:00:00

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


回复

使用道具 举报