本速查表里的类都是think为命名空间的,实例化时省去了 use。用的时候注意。
本速查表里会有四种方法的调用:
公有方法 $class = new Class(); $class->foo();
公有静态 Class::foo();
私有方法 $this->foo();
私有静态 self::foo();
关于注释,为了简洁,/** 的单行注释被我改为了 //
App
// 执行应用程序
App::run(Request $request = null);
// 设置当前请求的调度信息
App::dispatch($dispatch, $type = 'module');
// 执行函数或者闭包方法 支持参数调用
App::invokeFunction($function, $vars = []);
// 调用反射执行类的方法 支持参数绑定
App::invokeMethod($method, $vars = []);
// 调用反射执行类的实例化 支持依赖注入
App::invokeClass($class, $vars = []);
// 绑定参数
App::bindParams($reflect, $vars = []);
// 执行模块
App::module($result, $config, $convert = null);
// 初始化应用
App::initCommon();
// 初始化应用或模块
App::init($module = '');
// URL路由检测(根据PATH_INFO)
App::routeCheck($request, array $config);
// 设置应用的路由检测机制
App::route($route, $must = false);
Build
// 根据传入的build资料创建目录和文件
Build::run(array $build = [], $namespace = 'app', $suffix = false);
// 创建目录
Build::buildDir($list);
// 创建文件
Build::buildFile($list);
// 创建模块
Build::module($module = '', $list = [], $namespace = 'app', $suffix = false);
// 创建模块的欢迎页面
Build::buildHello($module, $namespace, $suffix = false);
// 创建模块的公共文件
Build::buildCommon($module);
Cache
// 连接缓存
Cache::connect(array $options = [], $name = false);
// 自动初始化缓存
Cache::init(array $options = []);
// 切换缓存类型 需要配置 cache.type 为 complex
Cache::store($name = '');
// 判断缓存是否存在
Cache::has($name);
// 读取缓存
Cache::get($name, $default = false);
// 写入缓存
Cache::set($name, $value, $expire = null);
// 自增缓存(针对数值缓存)
Cache::inc($name, $step = 1);
// 自减缓存(针对数值缓存)
Cache::dec($name, $step = 1);
// 删除缓存
Cache::rm($name);
// 清除缓存
Cache::clear($tag = null);
// 读取缓存并删除
Cache::pull($name);
// 如果不存在则写入缓存
Cache::remember($name, $value, $expire = null);
// 缓存标签
Cache::tag($name, $keys = null, $overlay = false);
Config
// 解析配置文件或内容
Config::parse($config, $type = '', $name = '', $range = '');
// 加载配置文件(PHP格式)
Config::load($file, $name = '', $range = '');
// 检测配置是否存在
Config::has($name, $range = '');
// 获取配置参数 为空则获取所有配置
Config::get($name = null, $range = '');
// 设置配置参数 name为数组则为批量设置
Config::set($name, $value = null, $range = '');
// 重置配置参数
Config::reset($range = '');
Controller
$controller = new think\Controller();
// 前置操作
$controller->beforeAction($method, $options = []);
// 加载模板输出
$controller->fetch($template = '', $vars = [], $replace = [], $config = []);
// 渲染内容输出
$controller->display($content = '', $vars = [], $replace = [], $config = []);
// 模板变量赋值
$controller->assign($name, $value = '');
// 初始化模板引擎
$controller->engine($engine);
// 设置验证失败后是否抛出异常
$controller->validateFailException($fail = true);
// 验证数据
$controller->validate($data, $validate, $message = [], $batch = false, $callback = null);
Console
Console::init($run = true);
Console::call($command, array $parameters = [], $driver = 'buffer');
$console = new think\Console();
// 执行当前的指令
$console->run();
// 执行指令
$console->doRun(Input $input, Output $output);
// 设置输入参数定义
$console->setDefinition(InputDefinition $definition);
// 获取输入参数定义
$console->getDefinition();
// Gets the help message.
$console->getHelp();
// 是否捕获异常
$console->setCatchExceptions($boolean);
// 是否自动退出
$console->setAutoExit($boolean);
// 获取名称
$console->getName();
// 设置名称
$console->setName($name);
// 获取版本
$console->getVersion();
// 设置版本
$console->setVersion($version);
// 获取完整的版本号
$console->getLongVersion();
// 注册一个指令
$console->register($name);
// 添加指令
$console->addCommands(array $commands);
// 添加一个指令
$console->add(Command $command);
// 获取指令
$console->get($name);
// 某个指令是设置默认命令否存在
$console->has($name);
// 获取所有的命名空间
$console->getNamespaces();
// 查找注册命名空间中的名称或缩写。
$console->findNamespace($namespace);
// 查找指令
$console->find($name);
// 获取所有的指令
$console->all($namespace = null);
// 获取可能的指令名
Console::getAbbreviations($names);
// 配置基于用户的参数和选项的输入和输出实例。
$this->configureIO(Input $input, Output $output);
// 执行指令
$this->doRunCommand(Command $command, Input $input, Output $output);
// 获取指令的基础名称
$this->getCommandName(Input $input);
// 获取默认输入定义
$this->getDefaultInputDefinition();
// 设置默认命令
$this->getDefaultCommands();
Console::addDefaultCommands(array $classnames);
// 获取可能的建议
$this->getAbbreviationSuggestions($abbrevs);
// 返回命名空间部分
$console->extractNamespace($name, $limit = null);
// 查找可替代的建议
$this->findAlternatives($name, $collection);
// 设置默认的指令
$console->setDefaultCommand($commandName);
// 返回所有的命名空间
$this->extractAllNamespaces($name);
File
$file = new File('test.txt', 'a');
//是否测试
$file->isTest($test = false);
// 设置上传信息
$file->setUploadInfo($info);
// 获取上传文件的信息
$file->getInfo($name = '');
// 获取上传文件的文件名
$file->getSaveName();
// 设置上传文件的保存文件名
$file->setSaveName($saveName);
// 获取文件的哈希散列值
$file->hash($type = 'sha1');
// 检查目录是否可写
$this->checkPath($path);
// 获取文件类型信息
$file->getMime();
// 设置文件的命名规则
$file->rule($rule);
// 设置上传文件的验证规则
$file->validate($rule = []);
// 检测是否合法的上传文件
$file->isValid();
// 检测上传文件
$file->check($rule = []);
// 检测上传文件后缀
$file->checkExt($ext);
// 检测图像文件
$file->checkImg();
// 判断图像类型
$this->getImageType($image);
// 检测上传文件大小
$file->checkSize($size);
// 检测上传文件类型
$file->checkMime($mime);
/**
* 移动文件
* @param string $path 保存路径
* @param string|bool $savename 保存的文件名 默认自动生成
* @param boolean $replace 同名文件是否覆盖
* @return false|SplFileInfo false-失败 否则返回SplFileInfo实例
*/
$file->move($path, $savename = true, $replace = true);
// 获取保存文件名
$this->buildSaveName($savename);
// 获取错误代码信息
$this->error($errorNo);
// 获取错误信息
$file->getError();
Cookie
// Cookie初始化
Cookie::init();
// 设置或者获取cookie作用域(前缀)
Cookie::prefix($prefix = '');
// Cookie 设置、获取、删除
Cookie::set($name, $value = '', $option = null);
// 永久保存Cookie数据
Cookie::forever($name, $value = '', $option = null);
// 判断Cookie数据
Cookie::has($name, $prefix = null);
// Cookie获取
Cookie::get($name, $prefix = null);
// Cookie删除
Cookie::delete($name, $prefix = null);
// Cookie清空
Cookie::clear($prefix = null);
Cookie::jsonFormatProtect(&$val, $key, $type = 'encode');
Db
// 数据库初始化 并取得数据库类实例
Db::connect($config = [], $name = false);
// 数据库连接参数解析
Db::parseConfig($config);
// DSN解析
// 格式: mysql://username:passwd@localhost:3306/DbName?param1=val1¶m2=val2#utf8
Db::parseDsn($dsnStr);
// 调用驱动类的方法
Db::__callStatic($method, $params);
Debug
// 记录时间(微秒)和内存使用情况
Debug::remark($name, $value = '');
// 统计某个区间的时间(微秒)使用情况
Debug::getRangeTime($start, $end, $dec = 6);
// 统计从开始到统计时的时间(微秒)使用情况
Debug::getUseTime($dec = 6);
// 获取当前访问的吞吐率情况
Debug::getThroughputRate();
// 记录区间的内存使用情况
Debug::getRangeMem($start, $end, $dec = 2);
// 统计从开始到统计时的内存使用情况
Debug::getUseMem($dec = 2);
// 统计区间的内存峰值情况
Debug::getMemPeak($start, $end, $dec = 2);
// 获取文件加载信息
Debug::getFile($detail = false);
// 浏览器友好的变量输出
Debug::dump($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE);
Debug::inject(Response $response, &$content);
Exception
/**
* 设置异常额外的Debug数据
* 数据将会显示为下面的格式
*
* Exception Data
* --------------------------------------------------
* Label 1
* key1 value1
* key2 value2
* Label 2
* key1 value1
* key2 value2
*
* @param string $label 数据分类,用于异常页面显示
* @param array $data 需要显示的数据,必须为关联数组
*/
$this->setData($label, array $data);
/**
* 获取异常额外Debug数据
* 主要用于输出到异常页面便于调试
* @return array 由setData设置的Debug数据
*/
$this->getData();
Env
// 获取环境变量值
Env::get($name, $default = null);
Hook
/**
* 动态添加行为扩展到某个标签
* @param string $tag 标签名称
* @param mixed $behavior 行为名称
* @param bool $first 是否放到开头执行
* @return void
*/
Hook::add($tag, $behavior, $first = false);
/**
* 批量导入插件
* @param array $tags 插件信息
* @param boolean $recursive 是否递归合并
*/
Hook::import(array $tags, $recursive = true);
/**
* 获取插件信息
* @param string $tag 插件位置 留空获取全部
* @return array
*/
Hook::get($tag = '');
/**
* 监听标签的行为
* @param string $tag 标签名称
* @param mixed $params 传入参数
* @param mixed $extra 额外参数
* @param bool $once 只获取一个有效返回值
* @return mixed
*/
Hook::listen($tag, &$params = null, $extra = null, $once = false);
/**
* 执行某个行为
* @param mixed $class 要执行的行为
* @param string $tag 方法名(标签名)
* @param Mixed $params 传人的参数
* @param mixed $extra 额外参数
* @return mixed
*/
Hook::exec($class, $tag = '', &$params = null, $extra = null);
Helper
// 快速导入Traits PHP5.5以上无需调用
load_trait($class, $ext = EXT);
// 抛出异常处理
exception($msg, $code = 0, $exception = '');
/**
* 记录时间(微秒)和内存使用情况
* @param string $start 开始标签
* @param string $end 结束标签
* @param integer|string $dec 小数位 如果是m 表示统计内存占用
* @return mixed
*/
debug($start, $end = '', $dec = 6);
/**
* 获取语言变量值
* @param string $name 语言变量名
* @param array $vars 动态变量值
* @param string $lang 语言
* @return mixed
*/
lang($name, $vars = [], $lang = '');
/**
* 获取和设置配置参数
* @param string|array $name 参数名
* @param mixed $value 参数值
* @param string $range 作用域
* @return mixed
*/
config($name = '', $value = null, $range = '');
/**
* 获取输入数据 支持默认值和过滤
* @param string $key 获取的变量名
* @param mixed $default 默认值
* @param string $filter 过滤方法
* @return mixed
*/
input($key = '', $default = null, $filter = '');
/**
* 渲染输出Widget
* @param string $name Widget名称
* @param array $data 传入的参数
* @return mixed
*
widget($name, $data = []);
/**
* 实例化Model
* @param string $name Model名称
* @param string $layer 业务层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return \think\Model
*/
model($name = '', $layer = 'model', $appendSuffix = false);
/**
* 实例化验证器
* @param string $name 验证器名称
* @param string $layer 业务层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return \think\Validate
*/
validate($name = '', $layer = 'validate', $appendSuffix = false);
/**
* 实例化数据库类
* @param string $name 操作的数据表名称(不含前缀)
* @param array|string $config 数据库配置参数
* @param bool $force 是否强制重新连接
* @return \think\db\Query
*/
db($name = '', $config = [], $force = true);
/**
* 实例化控制器 格式:[模块/]控制器
* @param string $name 资源地址
* @param string $layer 控制层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return \think\Controller
*/
controller($name, $layer = 'controller', $appendSuffix = false);
/**
* 调用模块的操作方法 参数格式 [模块/控制器/]操作
* @param string $url 调用地址
* @param string|array $vars 调用参数 支持字符串和数组
* @param string $layer 要调用的控制层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return mixed
*/
action($url, $vars = [], $layer = 'controller', $appendSuffix = false);
/**
* 导入所需的类库 同java的Import 本函数有缓存功能
* @param string $class 类库命名空间字符串
* @param string $baseUrl 起始路径
* @param string $ext 导入的文件扩展名
* @return boolean
*/
import($class, $baseUrl = '', $ext = EXT);
/**
* 快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面
* @param string $class 类库
* @param string $ext 类库后缀
* @return boolean
*/
vendor($class, $ext = EXT);
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @return void|string
*/
dump($var, $echo = true, $label = null);
/**
* Url生成
* @param string $url 路由地址
* @param string|array $vars 变量
* @param bool|string $suffix 生成的URL后缀
* @param bool|string $domain 域名
* @return string
*/
url($url = '', $vars = '', $suffix = true, $domain = false);
/**
* Session管理
* @param string|array $name session名称,如果为数组表示进行session设置
* @param mixed $value session值
* @param string $prefix 前缀
* @return mixed
*/
session($name, $value = '', $prefix = null);
/**
* Cookie管理
* @param string|array $name cookie名称,如果为数组表示进行cookie设置
* @param mixed $value cookie值
* @param mixed $option 参数
* @return mixed
*/
cookie($name, $value = '', $option = null);
/**
* 缓存管理
* @param mixed $name 缓存名称,如果为数组表示进行缓存设置
* @param mixed $value 缓存值
* @param mixed $options 缓存参数
* @param string $tag 缓存标签
* @return mixed
*/
cache($name, $value = '', $options = null, $tag = null);
/**
* 记录日志信息
* @param mixed $log log信息 支持字符串和数组
* @param string $level 日志级别
* @return void|array
*/
trace($log = '[think]', $level = 'log');
// 获取当前Request对象实例
request();
/**
* 创建普通 Response 对象实例
* @param mixed $data 输出数据
* @param int|string $code 状态码
* @param array $header 头信息
* @param string $type
* @return Response
*/
response($data = [], $code = 200, $header = [], $type = 'html');
/**
* 渲染模板输出
* @param string $template 模板文件
* @param array $vars 模板变量
* @param array $replace 模板替换
* @param integer $code 状态码
* @return \think\response\View
*/
view($template = '', $vars = [], $replace = [], $code = 200);
/**
* 获取\think\response\Json对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return \think\response\Json
*/
json($data = [], $code = 200, $header = [], $options = []);
/**
* 获取\think\response\Jsonp对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return \think\response\Jsonp
*/
jsonp($data = [], $code = 200, $header = [], $options = []);
/**
* 获取\think\response\Xml对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return \think\response\Xml
*/
xml($data = [], $code = 200, $header = [], $options = []);
/**
* 获取\think\response\Redirect对象实例
* @param mixed $url 重定向地址 支持Url::build方法的地址
* @param array|integer $params 额外参数
* @param integer $code 状态码
* @param array $with 隐式传参
* @return \think\response\Redirect
*/
redirect($url = [], $params = [], $code = 302, $with = []);
/**
* 抛出HTTP异常
* @param integer|Response $code 状态码 或者 Response对象实例
* @param string $message 错误信息
* @param array $header 参数
*/
abort($code, $message = null, $header = []);
// 调试变量并且中断输出
halt($var);
/**
* 生成表单令牌
* @param string $name 令牌名称
* @param mixed $type 令牌生成方法
* @return string
*/
token($name = '__token__', $type = 'md5');
/**
* 延迟预载入关联查询
* @param mixed $resultSet 数据集
* @param mixed $relation 关联
* @return array
*/
load_relation($resultSet, $relation);
// 数组转换为数据集对象
collection($resultSet);
Lang
/**
* 设置语言定义(不区分大小写)
* @param string|array $name 语言变量
* @param string $value 语言值
* @param string $range 语言作用域
* @return mixed
*/
Lang::set($name, $value = null, $range = '');
/**
* 加载语言定义(不区分大小写)
* @param string $file 语言文件
* @param string $range 语言作用域
* @return mixed
*
Lang::load($file, $range = '');
/**
* 获取语言定义(不区分大小写)
* @param string|null $name 语言变量
* @param array $vars 变量替换
* @param string $range 语言作用域
* @return mixed
*/
Lang::has($name, $range = '');
/**
* 获取语言定义(不区分大小写)
* @param string|null $name 语言变量
* @param array $vars 变量替换
* @param string $range 语言作用域
* @return mixed
*/
Lang::get($name = null, $vars = [], $range = '');
// 自动侦测设置获取语言选择
Lang::detect();
// 设置语言自动侦测的变量
Lang::setLangDetectVar($var);
// 设置语言的cookie保存变量
Lang::setLangCookieVar($var);
// 设置语言的cookie的过期时间
Lang::setLangCookieExpire($expire);
// 设置允许的语言列表
Lang::setAllowLangList($list);
Loader
// 自动加载
Loader::autoload($class);
// 查找文件
Loader::findFile($class);
// 注册classmap
Loader::addClassMap($class, $map = '');
// 注册命名空间
Loader::addNamespace($namespace, $path = '');
// 添加Ps0空间
Loader::addPsr0($prefix, $paths, $prepend = false);
// 添加Psr4空间
Loader::addPsr4($prefix, $paths, $prepend = false);
// 注册命名空间别名
Loader::addNamespaceAlias($namespace, $original = '');
// 注册自动加载机制
Loader::register($autoload = '');
// 注册composer自动加载
Loader::registerComposerLoader();
/**
* 导入所需的类库 同java的Import 本函数有缓存功能
* @param string $class 类库命名空间字符串
* @param string $baseUrl 起始路径
* @param string $ext 导入的文件扩展名
* @return boolean
*/
Loader::import($class, $baseUrl = '', $ext = EXT);
/**
* 实例化(分层)模型
* @param string $name Model名称
* @param string $layer 业务层名称
* @param bool $appendSuffix 是否添加类名后缀
* @param string $common 公共模块名
* @return Object
* @throws ClassNotFoundException
*/
Loader::model($name = '', $layer = 'model', $appendSuffix = false, $common = 'common');
/**
* 实例化(分层)控制器 格式:[模块名/]控制器名
* @param string $name 资源地址
* @param string $layer 控制层名称
* @param bool $appendSuffix 是否添加类名后缀
* @param string $empty 空控制器名称
* @return Object|false
* @throws ClassNotFoundException
*/
Loader::controller($name, $layer = 'controller', $appendSuffix = false, $empty = '');
/**
* 实例化验证类 格式:[模块名/]验证器名
* @param string $name 资源地址
* @param string $layer 验证层名称
* @param bool $appendSuffix 是否添加类名后缀
* @param string $common 公共模块名
* @return Object|false
* @throws ClassNotFoundException
*/
Loader::validate($name = '', $layer = 'validate', $appendSuffix = false, $common = 'common');
/**
* 数据库初始化 并取得数据库类实例
* @param mixed $config 数据库配置
* @param bool|string $name 连接标识 true 强制重新连接
* @return \think\db\Connection
*/
Loader::db($config = [], $name = false);
/**
* 远程调用模块的操作方法 参数格式 [模块/控制器/]操作
* @param string $url 调用地址
* @param string|array $vars 调用参数 支持字符串和数组
* @param string $layer 要调用的控制层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return mixed
*/
Loader::action($url, $vars = [], $layer = 'controller', $appendSuffix = false);
/**
* 字符串命名风格转换
* type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格
* @param string $name 字符串
* @param integer $type 转换类型
* @param bool $ucfirst 首字母是否大写(驼峰规则)
* @return string
*/
Loader::parseName($name, $type = 0, $ucfirst = true);
/**
* 解析应用类的类名
* @param string $module 模块名
* @param string $layer 层名 controller model ...
* @param string $name 类名
* @param bool $appendSuffix
* @return string
*/
Loader::parseClass($module, $layer, $name, $appendSuffix = false);
/**
* 初始化类的实例
* @return void
*/
Loader::clearInstance();
/**
* 作用范围隔离
*
* @param $file
* @return mixed
*/
__include_file();
__require_file($file);
Log
// 日志初始化
Log::init($config = []);
// 获取日志信息
Log::getLog($type = '');
/**
* 记录调试信息
* @param mixed $msg 调试信息
* @param string $type 信息类型
* @return void
*/
Log::record($msg, $type = 'log');
// 清空日志信息
Log::clear();
// 当前日志记录的授权key
Log::key($key);
/**
* 检查日志写入权限
* @param array $config 当前日志配置参数
* @return bool
*/
Log::check($config);
// 保存调试信息
Log::save();
/**
* 实时写入日志信息 并支持行为
* @param mixed $msg 调试信息
* @param string $type 信息类型
* @param bool $force 是否强制写入
* @return bool
*/
Log::write($msg, $type = 'log', $force = false);
// 静态调用
Log::__callStatic($method, $args);
Model
$model = new Model();
/**
* 获取当前模型的数据库查询对象
* @access public
* @param bool $baseQuery 是否调用全局查询范围
* @return Query
*/
$model->db($baseQuery = true);
$this->initialize();
/**
* 设置数据对象值
* @access public
* @param mixed $data 数据或者属性名
* @param mixed $value 值
* @return $this
*/
$model->data($data, $value = null);
/**
* 获取对象原始数据 如果不存在指定字段返回false
* @access public
* @param string $name 字段名 留空获取全部
* @return mixed
* @throws InvalidArgumentException
*/
$model->getData($name = null);
/**
* 修改器 设置数据对象值
* @access public
* @param string $name 属性名
* @param mixed $value 属性值
* @param array $data 数据
* @return $this
*/
$model->setAttr($name, $value, $data = []);
/**
* 自动写入时间戳
* @access public
* @param string $name 时间戳字段
* @return mixed
*/
$this->autoWriteTimestamp($name);
/**
* 时间日期字段格式化处理
* @access public
* @param mixed $time 时间日期表达式
* @param mixed $format 日期格式
* @param bool $timestamp 是否进行时间戳转换
* @return mixed
*/
$this->formatDateTime($time, $format, $timestamp = false);
/**
* 数据写入 类型转换
* @access public
* @param mixed $value 值
* @param string|array $type 要转换的类型
* @return mixed
*/
$this->writeTransform($value, $type);
// 获取器 获取数据对象的值
$model->getAttr($name);
/**
* 数据读取 类型转换
* @access public
* @param mixed $value 值
* @param string|array $type 要转换的类型
* @return mixed
*/
$this->readTransform($value, $type);
/**
* 设置需要追加的输出属性
* @access public
* @param array $append 属性列表
* @param bool $override 是否覆盖
* @return $this
*/
$model->append($append = [], $override = false);
/**
* 设置附加关联对象的属性
* @access public
* @param string $relation 关联方法
* @param string|array $append 追加属性名
* @return $this
* @throws Exception
*/
$model->appendRelationAttr($relation, $append);
/**
* 设置需要隐藏的输出属性
* @access public
* @param array $hidden 属性列表
* @param bool $override 是否覆盖
* @return $this
*/
$model->hidden($hidden = [], $override = false);
/**
* 设置需要输出的属性
* @access public
* @param array $visible
* @param bool $override 是否覆盖
* @return $this
*/
$model->visible($visible = [], $override = false);
/**
* 解析隐藏及显示属性
* @access protected
* @param array $attrs 属性
* @param array $result 结果集
* @param bool $visible
* @return array
*/
$this->parseAttr($attrs, &$result, $visible = true);
/**
* 转换子模型对象
* @access protected
* @param Model|ModelCollection $model
* @param $visible
* @param $hidden
* @param $key
* @return array
*/
$this->subToArray($model, $visible, $hidden, $key);
// 转换当前模型对象为数组
$model->toArray();
/**
* 转换当前模型对象为JSON字符串
* @access public
* @param integer $options json参数
* @return string
*/
$model->toJson($options = JSON_UNESCAPED_UNICODE);
/**
* 转换当前模型数据集为数据集对象
* @access public
* @param array|\think\Collection $collection 数据集
* @return \think\Collection
*/
$model->toCollection($collection);
/**
* 关联数据一起更新
* @access public
* @param mixed $relation 关联
* @return $this
*/
$model->together($relation);
/**
* 获取模型对象的主键
* @access public
* @param string $name 模型名
* @return mixed
*/
$model->getPk($name = '');
// 判断一个字段名是否为主键字段
$this->isPk($key);
/**
* 保存当前数据对象
* @access public
* @param array $data 数据
* @param array $where 更新条件
* @param string $sequence 自增序列名
* @return integer|false
*/
$model->save($data = [], $where = [], $sequence = null);
/**
* 保存多个数据到当前数据对象
* @access public
* @param array $dataSet 数据
* @param boolean $replace 是否自动识别更新和写入
* @return array|false
* @throws \Exception
*/
$model->saveAll($dataSet, $replace = true);
/**
* 设置允许写入的字段
* @access public
* @param mixed $field 允许写入的字段 如果为true只允许写入数据表字段
* @return $this
*/
$model->allowField($field);
/**
* 设置只读字段
* @access public
* @param mixed $field 只读字段
* @return $this
*/
$model->readonly($field);
/**
* 是否为更新数据
* @access public
* @param bool $update
* @param mixed $where
* @return $this
*/
$model->isUpdate($update = true, $where = null);
/**
* 数据自动完成
* @access public
* @param array $auto 要自动更新的字段列表
* @return void
*/
$this->autoCompleteData($auto = []);
// 删除当前的记录
$model->delete();
/**
* 设置自动完成的字段( 规则通过修改器定义)
* @access public
* @param array $fields 需要自动完成的字段
* @return $this
*/
$model->auto($fields);
/**
* 设置字段验证
* @access public
* @param array|string|bool $rule 验证规则 true表示自动读取验证器类
* @param array $msg 提示信息
* @param bool $batch 批量验证
* @return $this
*/
$model->validate($rule = true, $msg = [], $batch = false);
/**
* 设置验证失败后是否抛出异常
* @access public
* @param bool $fail 是否抛出异常
* @return $this
*/
$model->validateFailException($fail = true);
/**
* 自动验证数据
* @access protected
* @param array $data 验证数据
* @param mixed $rule 验证规则
* @param bool $batch 批量验证
* @return bool
*/
$this->validateData($data, $rule = null, $batch = null);
// 返回模型的错误信息
$this->getError();
/**
* 注册回调方法
* @access public
* @param string $event 事件名
* @param callable $callback 回调方法
* @param bool $override 是否覆盖
* @return void
*/
Model::event($event, $callback, $override = false);
/**
* 触发事件
* @access protected
* @param string $event 事件名
* @param mixed $params 传入参数(引用)
* @return bool
*/
$this->trigger($event, &$params);
/**
* 写入数据
* @access public
* @param array $data 数据数组
* @param array|true $field 允许字段
* @return $this
*/
Model::create($data = [], $field = null);
/**
* 更新数据
* @access public
* @param array $data 数据数组
* @param array $where 更新条件
* @param array|true $field 允许字段
* @return $this
*/
Model::update($data = [], $where = [], $field = null);
/**
* 查找单条记录
* @access public
* @param mixed $data 主键值或者查询条件(闭包)
* @param array|string $with 关联预查询
* @param bool $cache 是否缓存
* @return static
* @throws exception\DbException
*/
Model::get($data = null, $with = [], $cache = false);
/**
* 查找所有记录
* @access public
* @param mixed $data 主键列表或者查询条件(闭包)
* @param array|string $with 关联预查询
* @param bool $cache 是否缓存
* @return static[]|false
* @throws exception\DbException
*/
Model::all($data = null, $with = [], $cache = false);
/**
* 分析查询表达式
* @access public
* @param mixed $data 主键列表或者查询条件(闭包)
* @param string $with 关联预查询
* @param bool $cache 是否缓存
* @return Query
*/
Model::parseQuery(&$data, $with, $cache);
/**
* 删除记录
* @access public
* @param mixed $data 主键列表 支持闭包查询条件
* @return integer 成功删除的记录数
*/
Model::destroy($data);
/**
* 命名范围
* @access public
* @param string|array|\Closure $name 命名范围名称 逗号分隔
* @internal mixed ...$params 参数调用
* @return Model|Query
*/
Model::scope($name);
// 设置是否使用全局查询范围
Model::useGlobalScope($use);
/**
* 根据关联条件查询当前模型
* @access public
* @param string $relation 关联方法名
* @param mixed $operator 比较操作符
* @param integer $count 个数
* @param string $id 关联表的统计字段
* @return Relation|Query
*/
Model::has($relation, $operator = '>=', $count = 1, $id = '*');
/**
* 根据关联条件查询当前模型
* @access public
* @param string $relation 关联方法名
* @param mixed $where 查询条件(数组或者闭包)
* @return Relation|Query
*/
Model::hasWhere($relation, $where = []);
/**
* 解析模型的完整命名空间
* @access public
* @param string $model 模型名(或者完整类名)
* @return string
*/
$this->parseModel($model);
/**
* 查询当前模型的关联数据
* @access public
* @param string|array $relations 关联名
* @return $this
*/
$model->relationQuery($relations);
/**
* 预载入关联查询 返回数据集
* @access public
* @param array $resultSet 数据集
* @param string $relation 关联名
* @return array
*/
$model->eagerlyResultSet(&$resultSet, $relation);
/**
* 预载入关联查询 返回模型对象
* @access public
* @param Model $result 数据对象
* @param string $relation 关联名
* @return Model
*/
$model->eagerlyResult(&$result, $relation);
/**
* 关联统计
* @access public
* @param Model $result 数据对象
* @param string|array $relation 关联名
* @return void
*/
$model->relationCount(&$result, $relation);
/**
* 获取模型的默认外键名
* @access public
* @param string $name 模型名
* @return string
*/
$this->getForeignKey($name);
/**
* HAS ONE 关联定义
* @access public
* @param string $model 模型名
* @param string $foreignKey 关联外键
* @param string $localKey 关联主键
* @param array $alias 别名定义(已经废弃)
* @param string $joinType JOIN类型
* @return HasOne
*/
$model->hasOne($model, $foreignKey = '', $localKey = '', $alias = [], $joinType = 'INNER');
/**
* BELONGS TO 关联定义
* @access public
* @param string $model 模型名
* @param string $foreignKey 关联外键
* @param string $localKey 关联主键
* @param array $alias 别名定义(已经废弃)
* @param string $joinType JOIN类型
* @return BelongsTo
*/
$model->belongsTo($model, $foreignKey = '', $localKey = '', $alias = [], $joinType = 'INNER');
/**
* HAS MANY 关联定义
* @access public
* @param string $model 模型名
* @param string $foreignKey 关联外键
* @param string $localKey 关联主键
* @return HasMany
*/
$model->hasMany($model, $foreignKey = '', $localKey = '');
/**
* HAS MANY 远程关联定义
* @access public
* @param string $model 模型名
* @param string $through 中间模型名
* @param string $foreignKey 关联外键
* @param string $throughKey 关联外键
* @param string $localKey 关联主键
* @return HasManyThrough
*/
$model->hasManyThrough($model, $through, $foreignKey = '', $throughKey = '', $localKey = '');
/**
* BELONGS TO MANY 关联定义
* @access public
* @param string $model 模型名
* @param string $table 中间表名
* @param string $foreignKey 关联外键
* @param string $localKey 当前模型关联键
* @return BelongsToMany
*/
$model->belongsToMany($model, $table = '', $foreignKey = '', $localKey = '');
/**
* MORPH MANY 关联定义
* @access public
* @param string $model 模型名
* @param string|array $morph 多态字段信息
* @param string $type 多态类型
* @return MorphMany
*/
$model->morphMany($model, $morph = null, $type = '');
/**
* MORPH TO 关联定义
* @access public
* @param string|array $morph 多态字段信息
* @param array $alias 多态别名定义
* @return MorphTo
*/
$model->morphTo($morph = null, $alias = []);
$model->__call($method, $args);
Model::__callStatic($method, $params);
/**
* 修改器 设置数据对象的值
* @access public
* @param string $name 名称
* @param mixed $value 值
* @return void
*/
$model->__set($name, $value);
/**
* 获取器 获取数据对象的值
* @access public
* @param string $name 名称
* @return mixed
*/
$model->__get($name);
// 检测数据对象的值
$model->__isset($name);
/**
* 销毁数据对象的值
* @access public
* @param string $name 名称
* @return void
*/
$model->__unset($name);
$model->__toString();
$model->jsonSerialize();
$model->offsetSet($name, $value);
$model->offsetExists($name);
$model->offsetUnset($name);
$model->offsetGet($name);
// 解序列化后处理
$model->__wakeup();
// 模型事件快捷方法
Model::beforeInsert($callback, $override = false);
Model::afterInsert($callback, $override = false);
Model::beforeUpdate($callback, $override = false);
Model::afterUpdate($callback, $override = false);
Model::beforeWrite($callback, $override = false);
Model::afterWrite($callback, $override = false);
Model::beforeDelete($callback, $override = false);
Model::afterDelete($callback, $override = false);
Process
/**
* 构造方法
* @param string $commandline 指令
* @param string|null $cwd 工作目录
* @param array|null $env 环境变量
* @param string|null $input 输入
* @param int|float|null $timeout 超时时间
* @param array $options proc_open的选项
* @throws \RuntimeException
* @api
*/
$process = new Process($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = []);
// 停止
$process->__destruct();
// 克隆
$process->__clone();
/**
* 运行指令
* @param callback|null $callback
* @return int
*/
$process->run($callback = null);
/**
* 运行指令
* @param callable|null $callback
* @return self
* @throws \RuntimeException
* @throws ProcessFailedException
*/
$process->mustRun($callback = null);
/**
* 启动进程并写到 STDIN 输入后返回。
* @param callable|null $callback
* @throws \RuntimeException
* @throws \RuntimeException
* @throws \LogicException
*/
$process->start($callback = null);
/**
* 重启进程
* @param callable|null $callback
* @return Process
* @throws \RuntimeException
* @throws \RuntimeException
*/
$process->restart($callback = null);
/**
* 等待要终止的进程
* @param callable|null $callback
* @return int
*/
$process->wait($callback = null);
/**
* 获取PID
* @return int|null
* @throws \RuntimeException
*/
$process->getPid();
/**
* 将一个 POSIX 信号发送到进程中
* @param int $signal
* @return Process
*/
$process->signal($signal);
// 禁用从底层过程获取输出和错误输出。
$process->disableOutput();
// 开启从底层过程获取输出和错误输出。
$process->enableOutput();
// 输出是否禁用
$process->isOutputDisabled();
/**
* 获取当前的输出管道
* @return string
* @throws \LogicException
* @throws \LogicException
* @api
*/
$process->getOutput();
// 以增量方式返回的输出结果。
$process->getIncrementalOutput();
// 清空输出
$process->clearOutput();
// 返回当前的错误输出的过程 (STDERR)。
$process->getErrorOutput();
// 以增量方式返回 errorOutput
$process->getIncrementalErrorOutput();
// 清空 errorOutput
$process->clearErrorOutput();
/**
* 获取退出码
* @return null|int
*/
$process->getExitCode();
/**
* 获取退出文本
* @return null|string
*/
$process->getExitCodeText();
// 检查是否成功
$process->isSuccessful();
// 是否未捕获的信号已被终止子进程
$process->hasBeenSignaled();
// 返回导致子进程终止其执行的数。
$process->getTermSignal();
// 检查是否正在运行
$process->isRunning();
// 检查是否已开始
$process->isStarted();
// 检查是否已终止
$process->isTerminated();
// 获取当前的状态
$process->getStatus();
// 终止进程
$process->stop();
// 添加一行输出
$process->addOutput($line);
// 添加一行错误输出
$process->addErrorOutput($line);
// 获取被执行的指令
$process->getCommandLine();
// 设置指令
$process->setCommandLine($commandline);
// 获取超时时间
$process->getTimeout();
// 获取idle超时时间
$process->getIdleTimeout();
// 设置超时时间
$process->setTimeout($timeout);
// 设置idle超时时间
$process->setIdleTimeout($timeout);
// 设置TTY
$process->setTty($tty);
// 检查是否是tty模式
$process->isTty();
// 设置pty模式
$process->setPty($bool);
// 是否是pty模式
$process->isPty();
// 获取工作目录
$process->getWorkingDirectory();
// 设置工作目录
$process->setWorkingDirectory($cwd);
// 获取环境变量
$process->getEnv();
// 设置环境变量
$process->setEnv(array $env);
// 获取输入
$process->getInput();
// 设置输入
$process->setInput($input);
// 获取proc_open的选项
$process->getOptions();
// 设置proc_open的选项
$process->setOptions(array $options);
// 是否兼容windows
$process->getEnhanceWindowsCompatibility();
// 设置是否兼容windows
$process->setEnhanceWindowsCompatibility($enhance);
// 返回是否 sigchild 兼容模式激活
$process->getEnhanceSigchildCompatibility();
// 激活 sigchild 兼容性模式。
$process->setEnhanceSigchildCompatibility($enhance);
// 是否超时
$process->checkTimeout();
// 是否支持pty
Process::isPtySupported();
// 创建所需的 proc_open 的描述符
$this->getDescriptors();
// 建立 wait () 使用的回调。
$this->buildCallback($callback);
// 更新状态
$this->updateStatus($blocking);
// 是否开启 '--enable-sigchild'
$this->isSigchildEnabled();
// 验证是否超时
$this->validateTimeout($timeout);
// 读取pipes
$this->readPipes($blocking, $close);
// 捕获退出码
$this->captureExitCode();
/**
* 关闭资源
* @return int 退出码
*/
$this->close();
// 重置数据
$this->resetProcessData();
// 将一个 POSIX 信号发送到进程中。
$this->doSignal($signal, $throwException);
// 确保进程已经开启
$this->requireProcessIsStarted($functionName);
// 确保进程已经终止
$this->requireProcessIsTerminated($functionName);
Request
/**
* Hook 方法注入
* @access public
* @param string|array $method 方法名
* @param mixed $callback callable
* @return void
*/
Request::hook($method, $callback = null);
// 初始化
Request::instance($options = []);
/**
* 创建一个URL请求
* @access public
* @param string $uri URL地址
* @param string $method 请求类型
* @param array $params 请求参数
* @param array $cookie
* @param array $files
* @param array $server
* @param string $content
* @return \think\Request
*/
Request::create($uri, $method = 'GET', $params = [], $cookie = [], $files = [], $server = [], $content = null);
// 设置或获取当前包含协议的域名
$request = new Request();
$request->domain($domain = null);
/**
* 设置或获取当前完整URL 包括QUERY_STRING
* @access public
* @param string|true $url URL地址 true 带域名获取
* @return string
*/
/**
* 设置或获取当前URL 不含QUERY_STRING
* @access public
* @param string $url URL地址
* @return string
*/
$request->baseUrl($url = null);
/**
* 设置或获取当前执行的文件 SCRIPT_NAME
* @access public
* @param string $file 当前执行的文件
* @return string
*/
$request->baseFile($file = null);
/**
* 设置或获取URL访问根地址
* @access public
* @param string $url URL地址
* @return string
*/
$request->root($url = null);
// 获取当前请求URL的pathinfo信息(含URL后缀)
$request->pathinfo();
// 获取当前请求URL的pathinfo信息(不含URL后缀)
$request->path();
// 当前URL的访问后缀
$request->ext();
// 获取当前请求的时间
$request->time($float = false);
/**
* 当前请求的资源类型
* @access public
* @return false|string
*/
$request->type();
/**
* 设置资源类型
* @access public
* @param string|array $type 资源类型名
* @param string $val 资源类型
* @return void
*/
$request->mimeType($type, $val = '');
/**
* 当前的请求类型
* @access public
* @param bool $method true 获取原始请求类型
* @return string
*/
$request->method($method = false);
// 是否为GET请求
$request->isGet();
// 是否为POST请求
$request->isPost();
// 是否为PUT请求
$request->isPut();
// 是否为DELTE请求
$request->isDelete();
// 是否为HEAD请求
$request->isHead();
// 是否为PATCH请求
$request->isPatch();
// 是否为OPTIONS请求
$request->isOptions();
// 是否为cli
$request->isCli();
// 是否为cgi
$request->isCgi();
/**
* 获取获取当前请求的参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->param($name = '', $default = null, $filter = '');
/**
* 设置获取获取路由参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->route($name = '', $default = null, $filter = '');
/**
* 设置获取获取GET参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->get($name = '', $default = null, $filter = '');
/**
* 设置获取获取POST参数
* @access public
* @param string $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->post($name = '', $default = null, $filter = '');
/**
* 设置获取获取PUT参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->put($name = '', $default = null, $filter = '');
/**
* 设置获取获取DELETE参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->delete($name = '', $default = null, $filter = '');
/**
* 设置获取获取PATCH参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$Req
/**
* 获取request变量
* @param string $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->request($name = '', $default = null, $filter = '');
/**
* 获取session数据
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->session($name = '', $default = null, $filter = '');
/**
* 获取cookie参数
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->cookie($name = '', $default = null, $filter = '');
/**
* 获取server参数
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->server($name = '', $default = null, $filter = '');
/**
* 获取上传的文件信息
* @access public
* @param string|array $name 名称
* @return null|array|\think\File
*/
$request->file($name = '');
/**
* 获取环境变量
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->env($name = '', $default = null, $filter = '');
/**
* 设置或者获取当前的Header
* @access public
* @param string|array $name header名称
* @param string $default 默认值
* @return string
*/
$request->header($name = '', $default = null);
/**
* 获取变量 支持过滤和默认值
* @param array $data 数据源
* @param string|false $name 字段名
* @param mixed $default 默认值
* @param string|array $filter 过滤函数
* @return mixed
*/
$request->input($data = [], $name = '', $default = null, $filter = '');
/**
* 设置或获取当前的过滤规则
* @param mixed $filter 过滤规则
* @return mixed
*/
$request->filter($filter = null);
/**
* 递归过滤给定的值
* @param mixed $value 键值
* @param mixed $key 键名
* @param array $filters 过滤方法+默认值
* @return mixed
*/
$this->filterValue(&$value, $key, $filters);
// 过滤表单中的表达式
$request->filterExp(&$value);
/**
* 强制类型转换
* @param string $data
* @param string $type
* @return mixed
*/
$this->typeCast(&$data, $type);
/**
* 是否存在某个请求参数
* @access public
* @param string $name 变量名
* @param string $type 变量类型
* @param bool $checkEmpty 是否检测空值
* @return mixed
*/
$request->has($name, $type = 'param', $checkEmpty = false);
/**
* 获取指定的参数
* @access public
* @param string|array $name 变量名
* @param string $type 变量类型
* @return mixed
*/
$request->only($name, $type = 'param');
/**
* 排除指定参数获取
* @access public
* @param string|array $name 变量名
* @param string $type 变量类型
* @return mixed
*/
$request->except($name, $type = 'param');
// 当前是否ssl
$request->isSsl();
/**
* 当前是否Ajax请求
* @access public
* @param bool $ajax true 获取原始ajax请求
* @return bool
*/
$request->isAjax($ajax = false);
/**
* 当前是否Pjax请求
* @access public
* @param bool $pjax true 获取原始pjax请求
* @return bool
*/
$request->isPjax($pjax = false);
/**
* 获取客户端IP地址
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
* @return mixed
*/
$requet->ip($type = 0, $adv = false);
// 检测是否使用手机访问
$request->isMobile();
// 当前URL地址中的scheme参数
$request->scheme();
// 当前请求URL地址中的query参数
$request->query();
// 当前请求的host
$request->host();
// 当前请求URL地址中的port参数
$request->port();
// 当前请求 SERVER_PROTOCOL
$request->protocol();
// 当前请求 REMOTE_PORT
$request->remotePort();
// 当前请求 HTTP_CONTENT_TYPE
$request->contentType();
// 获取当前请求的路由信息
$request->routeInfo($route = []);
/**
* 设置或者获取当前请求的调度信息
* @access public
* @param array $dispatch 调度信息
* @return array
*/
$request->dispatch($dispatch = null);
/**
* 设置或者获取当前的模块名
* @access public
* @param string $module 模块名
* @return string|Request
*/
$request->module($module = null);
// 设置或者获取当前的控制器名
$request->controller($controller = null);
// 设置或者获取当前的操作名
$request->action($action = null);
// 设置或者获取当前的语言
$request->langset($lang = null);
// 设置或者获取当前请求的content
$request->getContent();
// 获取当前请求的php://input
$request->getInput();
/**
* 生成请求令牌
* @access public
* @param string $name 令牌名称
* @param mixed $type 令牌生成方法
* @return string
*/
$request->token($name = '__token__', $type = 'md5');
/**
* 设置当前地址的请求缓存
* @access public
* @param string $key 缓存标识,支持变量规则 ,例如 item/:name/:id
* @param mixed $expire 缓存有效期
* @param array $except 缓存排除
* @return void
*/
$request->cache($key, $expire = null, $except = []);
// 读取请求缓存设置
$request->getCache();
/**
* 设置当前请求绑定的对象实例
* @access public
* @param string $name 绑定的对象标识
* @param mixed $obj 绑定的对象实例
* @return mixed
*/
$request->bind($name, $obj = null);
Response
/**
* 构造函数
* @access public
* @param mixed $data 输出数据
* @param int $code
* @param array $header
* @param array $options 输出参数
*/
$response = new Response($data = '', $code = 200, array $header = [], $options = []);
/**
* 创建Response对象
* @access public
* @param mixed $data 输出数据
* @param string $type 输出类型
* @param int $code
* @param array $header
* @param array $options 输出参数
* @return Response|JsonResponse|ViewResponse|XmlResponse|RedirectResponse|JsonpResponse
*/
Response::create($data = '', $type = '', $code = 200, array $header = [], $options = []);
/**
* 发送数据到客户端
* @access public
* @return mixed
* @throws \InvalidArgumentException
*/
$response->send();
/**
* 处理数据
* @access protected
* @param mixed $data 要处理的数据
* @return mixed
*/
$this->output($data);
/**
* 输出的参数
* @access public
* @param mixed $options 输出参数
* @return $this
*/
$response->options($options = []);
/**
* 输出数据设置
* @access public
* @param mixed $data 输出数据
* @return $this
*/
$response->data($data);
/**
* 设置响应头
* @access public
* @param string|array $name 参数名
* @param string $value 参数值
* @return $this
*/
$response->header($name, $value = null);
/**
* 设置页面输出内容
* @param $content
* @return $this
*/
$response->content($content);
/**
* 发送HTTP状态
* @param integer $code 状态码
* @return $this
*/
$response->code($code);
/**
* LastModified
* @param string $time
* @return $this
*/
$response->lastModified($time);
/**
* Expires
* @param string $time
* @return $this
*/
$response->expires($time);
/**
* ETag
* @param string $eTag
* @return $this
*/
$response->eTag($eTag);
/**
* 页面缓存控制
* @param string $cache 状态码
* @return $this
*/
$response->cacheControl($cache);
/**
* 页面输出类型
* @param string $contentType 输出类型
* @param string $charset 输出编码
* @return $this
*/
$response->contentType($contentType, $charset = 'utf-8');
/**
* 获取头部信息
* @param string $name 头部名称
* @return mixed
*/
$response->getHeader($name = '');
/**
* 获取原始数据
* @return mixed
*/
$response->getData();
/**
* 获取输出数据
* @return mixed
*/
$response->getContent();
/**
* 获取状态码
* @return integer
*/
$response->getCode();
Route
/**
* 注册变量规则
* @access public
* @param string|array $name 变量名
* @param string $rule 变量规则
* @return void
*/
Route::pattern($name = null, $rule = '');
/**
* 注册子域名部署规则
* @access public
* @param string|array $domain 子域名
* @param mixed $rule 路由规则
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::domain($domain, $rule = '', $option = [], $pattern = []);
self::setDomain($domain);
/**
* 设置路由绑定
* @access public
* @param mixed $bind 绑定信息
* @param string $type 绑定类型 默认为module 支持 namespace class controller
* @return mixed
*/
Route::bind($bind, $type = 'module');
/**
* 设置或者获取路由标识
* @access public
* @param string|array $name 路由命名标识 数组表示批量设置
* @param array $value 路由地址及变量信息
* @return array
*/
Route:;name($name = '', $value = null);
/**
* 读取路由绑定
* @access public
* @param string $type 绑定类型
* @return mixed
*/
Route::getBind($type);
/**
* 导入配置文件的路由规则
* @access public
* @param array $rule 路由规则
* @param string $type 请求类型
* @return void
*/
Route::import(array $rule, $type = '*');
// 批量注册路由
self::registerRules($rules, $type = '*');
/**
* 注册路由规则
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param string $type 请求类型
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
self::rule($rule, $route = '', $type = '*', $option = [], $pattern = []);
/**
* 设置路由规则
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param string $type 请求类型
* @param array $option 路由参数
* @param array $pattern 变量规则
* @param string $group 所属分组
* @return void
*/
self::setRule($rule, $route, $type = '*', $option = [], $pattern = [], $group = '');
/**
* 设置当前执行的参数信息
* @access public
* @param array $options 参数信息
* @return mixed
*/
self::setOption($options = []);
/**
* 获取当前执行的所有参数信息
* @access public
* @return array
*/
Route::getOption();
/**
* 获取当前的分组信息
* @access public
* @param string $type 分组信息名称 name option pattern
* @return mixed
*/
Route::getGroup($type);
/**
* 设置当前的路由分组
* @access public
* @param string $name 分组名称
* @param array $option 分组路由参数
* @param array $pattern 分组变量规则
* @return void
*/
Route::setGroup($name, $option = [], $pattern = []);
/**
* 注册路由分组
* @access public
* @param string|array $name 分组名称或者参数
* @param array|\Closure $routes 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::group($name, $routes, $option = [], $pattern = []);
/**
* 注册路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::any($rule, $route = '', $option = [], $pattern = []);
/**
* 注册GET路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::get($rule, $route = '', $option = [], $pattern = []);
/**
* 注册POST路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::post($rule, $route = '', $option = [], $pattern = []);
/**
* 注册PUT路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::put($rule, $route = '', $option = [], $pattern = []);
/**
* 注册DELETE路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::delete($rule, $route = '', $option = [], $pattern = []);
/**
* 注册PATCH路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::patch($rule, $route = '', $option = [], $pattern = []);
/**
* 注册资源路由
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::resource($rule, $route = '', $option = [], $pattern = []);
/**
* 注册控制器路由 操作方法对应不同的请求后缀
* @access public
* @param string $rule 路由规则
* @param string $route 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @return void
*/
Route::controller($rule, $route = '', $option = [], $pattern = []);
/**
* 注册别名路由
* @access public
* @param string|array $rule 路由别名
* @param string $route 路由地址
* @param array $option 路由参数
* @return void
*/
Route::alias($rule = null, $route = '', $option = []);
/**
* 设置不同请求类型下面的方法前缀
* @access public
* @param string $method 请求类型
* @param string $prefix 类型前缀
* @return void
*/
Route::setMethodPrefix($method, $prefix = '');
/**
* rest方法定义和修改
* @access public
* @param string $name 方法名称
* @param array|bool $resource 资源
* @return void
*/
Route::rest($name, $resource = []);
/**
* 注册未匹配路由规则后的处理
* @access public
* @param string $route 路由地址
* @param string $method 请求类型
* @param array $option 路由参数
* @return void
*/
Route::miss($route, $method = '*', $option = []);
/**
* 注册一个自动解析的URL路由
* @access public
* @param string $route 路由地址
* @return void
*/
Route::function auto($route);
/**
* 获取或者批量设置路由定义
* @access public
* @param mixed $rules 请求类型或者路由定义数组
* @return array
*/
Route::rules($rules = '');
/**
* 检测子域名部署
* @access public
* @param Request $request Request请求对象
* @param array $currentRules 当前路由规则
* @param string $method 请求类型
* @return void
*/
Route::checkDomain($request, &$currentRules, $method = 'get');
/**
* 检测URL路由
* @access public
* @param Request $request Request请求对象
* @param string $url URL地址
* @param string $depr URL分隔符
* @param bool $checkDomain 是否检测域名规则
* @return false|array
*/
Route::check($request, $url, $depr = '/', $checkDomain = false);
self::getRouteExpress($key);
/**
* 检测路由规则
* @access private
* @param Request $request
* @param array $rules 路由规则
* @param string $url URL地址
* @param string $depr URL分割符
* @param string $group 路由分组名
* @param array $options 路由参数(分组)
* @return mixed
*/
self::checkRoute($request, $rules, $url, $depr = '/', $group = '', $options = []);
/**
* 检测路由别名
* @access private
* @param Request $request
* @param string $url URL地址
* @param string $depr URL分隔符
* @return mixed
*/
self::checkRouteAlias($request, $url, $depr);
/**
* 检测URL绑定
* @access private
* @param string $url URL地址
* @param array $rules 路由规则
* @param string $depr URL分隔符
* @return mixed
*/
self::checkUrlBind(&$url, &$rules, $depr = '/');
/**
* 绑定到类
* @access public
* @param string $url URL地址
* @param string $class 类名(带命名空间)
* @param string $depr URL分隔符
* @return array
*/
Route::bindToClass($url, $class, $depr = '/');
/**
* 绑定到命名空间
* @access public
* @param string $url URL地址
* @param string $namespace 命名空间
* @param string $depr URL分隔符
* @return array
*/
Route::bindToNamespace($url, $namespace, $depr = '/');
/**
* 绑定到控制器类
* @access public
* @param string $url URL地址
* @param string $controller 控制器名 (支持带模块名 index/user )
* @param string $depr URL分隔符
* @return array
*/
Route::bindToController($url, $controller, $depr = '/');
/**
* 绑定到模块/控制器
* @access public
* @param string $url URL地址
* @param string $controller 控制器类名(带命名空间)
* @param string $depr URL分隔符
* @return array
*/
Route::bindToModule($url, $controller, $depr = '/');
/**
* 路由参数有效性检查
* @access private
* @param array $option 路由参数
* @param Request $request Request对象
* @return bool
*/
self::checkOption($option, $request);
/**
* 检测路由规则
* @access private
* @param string $rule 路由规则
* @param string $route 路由地址
* @param string $url URL地址
* @param array $pattern 变量规则
* @param array $option 路由参数
* @param string $depr URL分隔符(全局)
* @return array|false
*/
self::checkRule($rule, $route, $url, $pattern, $option, $depr);
/**
* 解析模块的URL地址 [模块/控制器/操作?]参数1=值1&参数2=值2...
* @access public
* @param string $url URL地址
* @param string $depr URL分隔符
* @param bool $autoSearch 是否自动深度搜索控制器
* @return array
*/
Route::parseUrl($url, $depr = '/', $autoSearch = false);
/**
* 解析URL的pathinfo参数和变量
* @access private
* @param string $url URL地址
* @return array
*/
self::parseUrlPath($url);
/**
* 检测URL和规则路由是否匹配
* @access private
* @param string $url URL地址
* @param string $rule 路由规则
* @param array $pattern 变量规则
* @return array|false
*/
self::match($url, $rule, $pattern);
/**
* 解析规则路由
* @access private
* @param string $rule 路由规则
* @param string $route 路由地址
* @param string $pathinfo URL地址
* @param array $option 路由参数
* @param array $matches 匹配的变量
* @return array
*/
self::parseRule($rule, $route, $pathinfo, $option = [], $matches = []);
/**
* 解析URL地址为 模块/控制器/操作
* @access private
* @param string $url URL地址
* @return array
*/
self::parseModule($url);
/**
* 解析URL地址中的参数Request对象
* @access private
* @param string $rule 路由规则
* @param array $var 变量
* @return void
*/
self::parseUrlParams($url, &$var = []);
// 分析路由规则中的变量
self::parseVar($rule);
Session
// 设置或者获取session作用域(前缀)
Session::prefix($prefix = '');
/**
* session初始化
* @param array $config
* @return void
* @throws \think\Exception
*/
Session::init(array $config = []);
// session自动启动或者初始化
Session::boot();
/**
* session设置
* @param string $name session名称
* @param mixed $value session值
* @param string|null $prefix 作用域(前缀)
* @return void
*/
Session::set($name, $value = '', $prefix = null);
/**
* session获取
* @param string $name session名称
* @param string|null $prefix 作用域(前缀)
* @return mixed
*/
Session::get($name = '', $prefix = null);
/**
* session获取并删除
* @param string $name session名称
* @param string|null $prefix 作用域(前缀)
* @return mixed
*/
Session::pull($name, $prefix = null);
/**
* session设置 下一次请求有效
* @param string $name session名称
* @param mixed $value session值
* @param string|null $prefix 作用域(前缀)
* @return void
*/
Session::flash($name, $value);
// 清空当前请求的session数据
Session::function flush();
/**
* 删除session数据
* @param string|array $name session名称
* @param string|null $prefix 作用域(前缀)
* @return void
*/
Session::delete($name, $prefix = null);
/**
* 清空session数据
* @param string|null $prefix 作用域(前缀)
* @return void
*/
Session::clear($prefix = null);
/**
* 判断session数据
* @param string $name session名称
* @param string|null $prefix
* @return bool
*/
Session::has($name, $prefix = null);
/**
* 添加数据到一个session数组
* @param string $key
* @param mixed $value
* @return void
*/
Session::push($key, $value);
/**
* 启动session
* @return void
*/
Session::start();
/**
* 销毁session
* @return void
*/
Session::destroy();
/**
* 重新生成session_id
* @param bool $delete 是否删除关联会话文件
* @return void
*/
Session::regenerate($delete = false);
/**
* 暂停session
* @return void
*/
Session::pause();
Template
// 构造函数
$template = new Template(array $config = []);
/**
* 字符串替换 避免正则混淆
* @access private
* @param string $str
* @return string
*/
$this->stripPreg($str);
/**
* 模板变量赋值
* @access public
* @param mixed $name
* @param mixed $value
* @return void
*/
$template->assign($name, $value = '');
/**
* 模板引擎参数赋值
* @access public
* @param mixed $name
* @param mixed $value
*/
$template->__set($name, $value);
/**
* 模板引擎配置项
* @access public
* @param array|string $config
* @return void|array
*/
$template->config($config);
/**
* 模板变量获取
* @access public
* @param string $name 变量名
* @return mixed
*/
$template->get($name = '');
/**
* 渲染模板文件
* @access public
* @param string $template 模板文件
* @param array $vars 模板变量
* @param array $config 模板参数
* @return void
*/
$template->fetch($template, $vars = [], $config = []);
/**
* 渲染模板内容
* @access public
* @param string $content 模板内容
* @param array $vars 模板变量
* @param array $config 模板参数
* @return void
*/
$template->display($content, $vars = [], $config = []);
/**
* 设置布局
* @access public
* @param mixed $name 布局模板名称 false 则关闭布局
* @param string $replace 布局模板内容替换标识
* @return object
*/
$template->layout($name, $replace = '');
/**
* 检查编译缓存是否有效
* 如果无效则需要重新编译
* @access private
* @param string $cacheFile 缓存文件名
* @return boolean
*/
$this->checkCache($cacheFile);
/**
* 检查编译缓存是否存在
* @access public
* @param string $cacheId 缓存的id
* @return boolean
*/
$template->isCache($cacheId);
/**
* 编译模板文件内容
* @access private
* @param string $content 模板内容
* @param string $cacheFile 缓存文件名
* @return void
*/
$this->compiler(&$content, $cacheFile);
/**
* 模板解析入口
* 支持普通标签和TagLib解析 支持自定义标签库
* @access public
* @param string $content 要解析的模板内容
* @return void
*/
$template->parse(&$content);
/**
* 检查PHP语法
* @access private
* @param string $content 要解析的模板内容
* @return void
* @throws \think\Exception
*/
$this->parsePhp(&$content);
/**
* 解析模板中的布局标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseLayout(&$content);
/**
* 解析模板中的include标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseInclude(&$content);
/**
* 解析模板中的extend标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseExtend(&$content);
/**
* 替换页面中的literal标签
* @access private
* @param string $content 模板内容
* @param boolean $restore 是否为还原
* @return void
*/
$this->parseLiteral(&$content, $restore = false);
/**
* 获取模板中的block标签
* @access private
* @param string $content 模板内容
* @param boolean $sort 是否排序
* @return array
*/
$this->parseBlock(&$content, $sort = false);
/**
* 搜索模板页面中包含的TagLib库
* 并返回列表
* @access private
* @param string $content 模板内容
* @return array|null
*/
$this->getIncludeTagLib(&$content);
/**
* TagLib库解析
* @access public
* @param string $tagLib 要解析的标签库
* @param string $content 要解析的模板内容
* @param boolean $hide 是否隐藏标签库前缀
* @return void
*/
$template->parseTagLib($tagLib, &$content, $hide = false);
/**
* 分析标签属性
* @access public
* @param string $str 属性字符串
* @param string $name 不为空时返回指定的属性名
* @return array
*/
$template->parseAttr($str, $name = null);
/**
* 模板标签解析
* 格式: {TagName:args [|content] }
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseTag(&$content);
/**
* 模板变量解析,支持使用函数
* 格式: {$varname|function1|function2=arg1,arg2}
* @access public
* @param string $varStr 变量数据
* @return void
*/
$template->parseVar(&$varStr);
/**
* 对模板中使用了函数的变量进行解析
* 格式 {$varname|function1|function2=arg1,arg2}
* @access public
* @param string $varStr 变量字符串
* @return void
*/
$template->parseVarFunction(&$varStr);
/**
* 特殊模板变量解析
* 格式 以 $Think. 打头的变量属于特殊模板变量
* @access public
* @param array $vars 变量数组
* @return string
*/
$template->parseThinkVar($vars);
/**
* 分析加载的模板文件并读取内容 支持多个模板文件读取
* @access private
* @param string $templateName 模板文件名
* @return string
*/
$this->parseTemplateName($templateName);
/**
* 解析模板文件名
* @access private
* @param string $template 文件名
* @return string|false
*/
$this->parseTemplateFile($template);
/**
* 按标签生成正则
* @access private
* @param string $tagName 标签名
* @return string
*/
$this->getRegex($tagName);
Url
/**
* URL生成 支持路由反射
* @param string $url 路由地址
* @param string|array $vars 参数(支持数组和字符串)a=val&b=val2... ['a'=>'val1', 'b'=>'val2']
* @param string|bool $suffix 伪静态后缀,默认为true表示获取配置值
* @param boolean|string $domain 是否显示域名 或者直接传入域名
* @return string
*/
Url::build($url = '', $vars = '', $suffix = true, $domain = false);
// 直接解析URL地址
self::parseUrl($url, &$domain);
{
$request = Request::instance();
if (0 === strpos($url, '/')) {
// 直接作为路由地址解析
$url = substr($url, 1);
} elseif (false !== strpos($url, '\\')) {
// 解析到类
$url = ltrim(str_replace('\\', '/', $url), '/');
} elseif (0 === strpos($url, '@')) {
// 解析到控制器
$url = substr($url, 1);
} else {
// 解析到 模块/控制器/操作
$module = $request->module();
$domains = Route::rules('domain');
if (true === $domain && 2 == substr_count($url, '/')) {
$current = $request->host();
$match = [];
$pos = [];
foreach ($domains as $key => $item) {
if (isset($item['[bind]']) && 0 === strpos($url, $item['[bind]'][0])) {
$pos[$key] = strlen($item['[bind]'][0]) + 1;
$match[] = $key;
$module = '';
}
}
if ($match) {
$domain = current($match);
foreach ($match as $item) {
if (0 === strpos($current, $item)) {
$domain = $item;
}
}
self::$bindCheck = true;
$url = substr($url, $pos[$domain]);
}
} elseif ($domain) {
if (isset($domains[$domain]['[bind]'][0])) {
$bindModule = $domains[$domain]['[bind]'][0];
if ($bindModule && !in_array($bindModule[0], ['\\', '@'])) {
$module = '';
}
}
}
$module = $module ? $module . '/' : '';
$controller = Loader::parseName($request->controller());
if ('' == $url) {
// 空字符串输出当前的 模块/控制器/操作
$url = $module . $controller . '/' . $request->action();
} else {
$path = explode('/', $url);
$action = Config::get('url_convert') ? strtolower(array_pop($path)) : array_pop($path);
$controller = empty($path) ? $controller : (Config::get('url_convert') ? Loader::parseName(array_pop($path)) : array_pop($path));
$module = empty($path) ? $module : array_pop($path) . '/';
$url = $module . $controller . '/' . $action;
}
}
return $url;
}
// 检测域名
self::parseDomain(&$url, $domain);
// 解析URL后缀
self::parseSuffix($suffix);
// 匹配路由地址
Url::function getRuleUrl($rule, &$vars = []);
// 指定当前生成URL地址的root
Url::function root($root);
Validate
/**
* 构造函数
* @access public
* @param array $rules 验证规则
* @param array $message 验证提示信息
* @param array $field 验证字段描述信息
*/
$validate = new Validate(array $rules = [], $message = [], $field = []);
/**
* 实例化验证
* @access public
* @param array $rules 验证规则
* @param array $message 验证提示信息
* @param array $field 验证字段描述信息
* @return Validate
*/
Validate::make($rules = [], $message = [], $field = []);
/**
* 添加字段验证规则
* @access protected
* @param string|array $name 字段名称或者规则数组
* @param mixed $rule 验证规则
* @return Validate
*/
$validate->rule($name, $rule = '');
/**
* 注册验证(类型)规则
* @access public
* @param string $type 验证规则类型
* @param mixed $callback callback方法(或闭包)
* @return void
*/
Validate::extend($type, $callback = null);
/**
* 获取验证规则的默认提示信息
* @access protected
* @param string|array $type 验证规则类型名称或者数组
* @param string $msg 验证提示信息
* @return void
*/
Validate::setTypeMsg($type, $msg = null);
/**
* 设置提示信息
* @access public
* @param string|array $name 字段名称
* @param string $message 提示信息
* @return Validate
*/
$validate->message($name, $message = '');
/**
* 设置验证场景
* @access public
* @param string|array $name 场景名或者场景设置数组
* @param mixed $fields 要验证的字段
* @return Validate
*/
$validate->scene($name, $fields = null);
/**
* 判断是否存在某个验证场景
* @access public
* @param string $name 场景名
* @return bool
*/
$validate->hasScene($name);
/**
* 设置批量验证
* @access public
* @param bool $batch 是否批量验证
* @return Validate
*/
$validate->batch($batch = true);
/**
* 数据自动验证
* @access public
* @param array $data 数据
* @param mixed $rules 验证规则
* @param string $scene 验证场景
* @return bool
*/
$validate->check($data, $rules = [], $scene = '');
/**
* 验证单个字段规则
* @access protected
* @param string $field 字段名
* @param mixed $value 字段值
* @param mixed $rules 验证规则
* @param array $data 数据
* @param string $title 字段描述
* @param array $msg 提示信息
* @return mixed
*/
$this->checkItem($field, $value, $rules, $data, $title = '', $msg = []);
/**
* 验证是否和某个字段的值一致
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @param string $field 字段名
* @return bool
*/
$this->confirm($value, $rule, $data, $field = '');
/**
* 验证是否和某个字段的值是否不同
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return bool
*/
$this->different($value, $rule, $data);
/**
* 验证是否大于等于某个值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->egt($value, $rule);
/**
* 验证是否大于某个值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->gt($value, $rule);
/**
* 验证是否小于等于某个值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->elt($value, $rule);
/**
* 验证是否小于某个值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->lt($value, $rule);
/**
* 验证是否等于某个值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->eq($value, $rule);
/**
* 验证字段值是否为有效格式
* @access protected
* @param mixed $value 字段值
* @param string $rule 验证规则
* @param array $data 验证数据
* @return bool
*/
$this->is($value, $rule, $data = []);
// 判断图像类型
$this->getImageType($image);
/**
* 验证是否为合格的域名或者IP 支持A,MX,NS,SOA,PTR,CNAME,AAAA,A6, SRV,NAPTR,TXT 或者 ANY类型
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->activeUrl($value, $rule);
/**
* 验证是否有效IP
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则 ipv4 ipv6
* @return bool
*/
$this->ip($value, $rule);
/**
* 验证上传文件后缀
* @access protected
* @param mixed $file 上传文件
* @param mixed $rule 验证规则
* @return bool
*/
$this->fileExt($file, $rule);
/**
* 验证上传文件类型
* @access protected
* @param mixed $file 上传文件
* @param mixed $rule 验证规则
* @return bool
*/
$this->fileMime($file, $rule);
/**
* 验证上传文件大小
* @access protected
* @param mixed $file 上传文件
* @param mixed $rule 验证规则
* @return bool
*/
$this->fileSize($file, $rule);
/**
* 验证图片的宽高及类型
* @access protected
* @param mixed $file 上传文件
* @param mixed $rule 验证规则
* @return bool
*/
$this->image($file, $rule);
/**
* 验证请求类型
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->method($value, $rule);
/**
* 验证时间和日期是否符合指定格式
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->dateFormat($value, $rule);
/**
* 验证是否唯一
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则 格式:数据表,字段名,排除ID,主键名
* @param array $data 数据
* @param string $field 验证字段名
* @return bool
*/
$this->unique($value, $rule, $data, $field);
/**
* 使用行为类验证
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return mixed
*/
$this->behavior($value, $rule, $data);
/**
* 使用filter_var方式验证
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->filter($value, $rule);
/**
* 验证某个字段等于某个值的时候必须
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return bool
*/
$this->requireIf($value, $rule, $data);
/**
* 通过回调方法验证某个字段是否必须
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return bool
*/
$this->requireCallback($value, $rule, $data);
/**
* 验证某个字段有值的情况下必须
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return bool
*/
$this->requireWith($value, $rule, $data);
/**
* 验证是否在范围内
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->in($value, $rule);
/**
* 验证是否不在某个范围
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->notIn($value, $rule);
/**
* between验证数据
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->between($value, $rule);
/**
* 使用notbetween验证数据
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->notBetween($value, $rule);
/**
* 验证数据长度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->length($value, $rule);
/**
* 验证数据最大长度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->max($value, $rule);
/**
* 验证数据最小长度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->min($value, $rule);
/**
* 验证日期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->after($value, $rule);
/**
* 验证日期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->before($value, $rule);
/**
* 验证有效期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @return bool
*/
$this->expire($value, $rule);
/**
* 验证IP许可
* @access protected
* @param string $value 字段值
* @param mixed $rule 验证规则
* @return mixed
*/
$this->allowIp($value, $rule);
/**
* 验证IP禁用
* @access protected
* @param string $value 字段值
* @param mixed $rule 验证规则
* @return mixed
*/
$this->denyIp($value, $rule);
/**
* 使用正则验证数据
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则 正则规则或者预定义正则名
* @return mixed
*/
$this->regex($value, $rule);
/**
* 验证表单令牌
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 验证规则
* @param array $data 数据
* @return bool
*/
$this->token($value, $rule, $data);
// 获取错误信息
$validate->getError();
/**
* 获取数据值
* @access protected
* @param array $data 数据
* @param string $key 数据标识 支持二维
* @return mixed
*/
$this->getDataValue($data, $key);
/**
* 获取验证规则的错误提示信息
* @access protected
* @param string $attribute 字段英文名
* @param string $title 字段描述名
* @param string $type 验证规则名称
* @param mixed $rule 验证规则数据
* @return string
*/
$this->getRuleMsg($attribute, $title, $type, $rule);
/**
* 获取数据验证的场景
* @access protected
* @param string $scene 验证场景
* @return array
*/
$this->getScene($scene = '');
Validate::__callStatic($method, $params);
View
/**
* 构造函数
* @access public
* @param array $engine 模板引擎参数
* @param array $replace 字符串替换参数
*/
$view = New View($engine = [], $replace = []);
/**
* 初始化视图
* @access public
* @param array $engine 模板引擎参数
* @param array $replace 字符串替换参数
* @return object
*/
View::instance($engine = [], $replace = []);
/**
* 模板变量静态赋值
* @access public
* @param mixed $name 变量名
* @param mixed $value 变量值
* @return void
*/
View::share($name, $value = '');
/**
* 模板变量赋值
* @access public
* @param mixed $name 变量名
* @param mixed $value 变量值
* @return $this
*/
$view->assign($name, $value = '');
/**
* 设置当前模板解析的引擎
* @access public
* @param array|string $options 引擎参数
* @return $this
*/
$view->engine($options = []);
/**
* 配置模板引擎
* @access private
* @param string|array $name 参数名
* @param mixed $value 参数值
* @return void
*/
$view->config($name, $value = null);
/**
* 解析和获取模板内容 用于输出
* @param string $template 模板文件名或者内容
* @param array $vars 模板输出变量
* @param array $replace 替换内容
* @param array $config 模板参数
* @param bool $renderContent 是否渲染内容
* @return string
* @throws Exception
*/
$view->fetch($template = '', $vars = [], $replace = [], $config = [], $renderContent = false);
/**
* 视图内容替换
* @access public
* @param string|array $content 被替换内容(支持批量替换)
* @param string $replace 替换内容
* @return $this
*/
$view->replace($content, $replace = '');
/**
* 渲染内容输出
* @access public
* @param string $content 内容
* @param array $vars 模板输出变量
* @param array $replace 替换内容
* @param array $config 模板参数
* @return mixed
*/
$view->display($content, $vars = [], $replace = [], $config = []);
/**
* 模板变量赋值
* @access public
* @param string $name 变量名
* @param mixed $value 变量值
*/
$view->__set($name, $value);
/**
* 取得模板显示变量的值
* @access protected
* @param string $name 模板变量
* @return mixed
*/
$view->__get($name);
/**
* 检测模板变量是否设置
* @access public
* @param string $name 模板变量名
* @return bool
*/
$view->__isset($name);
原文链接:yangweijie.github.io