本速查表里的类都是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 thinkController();
// 前置操作
$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 thinkConsole();
// 执行当前的指令
$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 hinkModel
*/
model($name = '', $layer = 'model', $appendSuffix = false);
/**
* 实例化验证器
* @param string $name 验证器名称
* @param string $layer 业务层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return hinkValidate
*/
validate($name = '', $layer = 'validate', $appendSuffix = false);
/**
* 实例化数据库类
* @param string $name 操作的数据表名称(不含前缀)
* @param array|string $config 数据库配置参数
* @param bool $force 是否强制重新连接
* @return hinkdbQuery
*/
db($name = '', $config = [], $force = true);
/**
* 实例化控制器 格式:[模块/]控制器
* @param string $name 资源地址
* @param string $layer 控制层名称
* @param bool $appendSuffix 是否添加类名后缀
* @return hinkController
*/
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 hink
esponseView
*/
view($template = '', $vars = [], $replace = [], $code = 200);
/**
* 获取 hink
esponseJson对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return hink
esponseJson
*/
json($data = [], $code = 200, $header = [], $options = []);
/**
* 获取 hink
esponseJsonp对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return hink
esponseJsonp
*/
jsonp($data = [], $code = 200, $header = [], $options = []);
/**
* 获取 hink
esponseXml对象实例
* @param mixed $data 返回的数据
* @param integer $code 状态码
* @param array $header 头部
* @param array $options 参数
* @return hink
esponseXml
*/
xml($data = [], $code = 200, $header = [], $options = []);
/**
* 获取 hink
esponseRedirect对象实例
* @param mixed $url 重定向地址 支持Url::build方法的地址
* @param array|integer $params 额外参数
* @param integer $code 状态码
* @param array $with 隐式传参
* @return hink
esponseRedirect
*/
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 hinkdbConnection
*/
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| hinkCollection $collection 数据集
* @return hinkCollection
*/
$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 exceptionDbException
*/
Model::get($data = null, $with = [], $cache = false);
/**
* 查找所有记录
* @access public
* @param mixed $data 主键列表或者查询条件(闭包)
* @param array|string $with 关联预查询
* @param bool $cache 是否缓存
* @return static[]|false
* @throws exceptionDbException
*/
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
*