本速查表裏的類都是think爲命名空間的,實例化時省去了 use。用的時候注意。php
本速查表裏會有四種方法的調用:html
公有方法 $class = new Class(); $class->foo();java
公有靜態 Class::foo();mysql
私有方法 $this->foo();git
私有靜態 self::foo();github
關於註釋,爲了簡潔,/** 的單行註釋被我改成了 // ajax
// 執行應用程序 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::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::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::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 = 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::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 = 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::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::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::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);
/** * 設置異常額外的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::get($name, $default = null);
/** * 動態添加行爲擴展到某個標籤 * @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);
// 快速導入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);
/** * 設置語言定義(不區分大小寫) * @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::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::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 = 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 = []);