本速查表里的类都是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 = '*');

相关文章: