91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkPHP3.1.3版本的填寫有哪些

發布時間:2020-12-17 15:12:39 來源:億速云 閱讀:109 作者:Leah 欄目:開發技術

ThinkPHP3.1.3版本的填寫有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1、異常方面的改進

新版的ThinkPHP3.1.3重寫了異常類ThinkException(其實是完全簡化成了直接繼承系統Exception類),并且把異常邏輯改進封裝到Think類中。主要涉及到Think類的appException方法和halt函數。
并且改進后的異常處理支持系統致命錯誤的捕獲,Think類增加了fatalError方法,原理是使用了

register_shutdown_function(array('Think','fatalError'));

因此可以使得系統致命錯誤通過統一的異常模板界面友好提示。

2、對PDO參數綁定的支持

因為ThinkPHP3.*版本采用的是混合數據庫驅動,同時也支持PDO方式,但之前版本并未針對PDO做優化,只是簡單的封裝。3.1.3版本完善了對PDO以及Sqlarv的支持,因為PDO和sqlsrv都支持參數綁定操作(注意,不支持參數綁定的數據庫和驅動無法使用參數綁定功能)。

系統對參數綁定操作的支持分兩種:自動綁定和手動綁定

自動綁定是對于寫入操作(這里包括數據的新增和更新),框架會自動把相關數據轉換成參數綁定方式執行,這個部分不需要額外處理,因為sqlsrv只有采用參數綁定的方式傳值才能支持UTF8數據寫入,但是每次寫入數據都要采用手動參數綁定的話,就會顯得比較麻煩。為了避免和手動參數綁定沖突,自動參數綁定采用的是對字段名md5編碼的方式。

手動綁定,通常用于查詢條件之類的,并且采用bind連貫操作方法,例如:

$model->where(array('id'=>':id','name'=>':name'))->bind(array(':id'=>$id,':name'=>$name))->select();


3、增加變量安全獲取方法

之前版本通過Action類的_post _get等方法來安全獲取變量,雖然沒問題,但局限是只能在控制器中獲取變量,新版把這一功能獨立成一個快捷方法I,可以用于任何地方。
使用方法如下:

I('get.id',0); // 獲取$_GET['id'] 如果不存在則默認為0
I('post.name','','htmlspecialchars'); // 獲取$_POST['name'] 采用htmlspecialchars方法過濾
I('id'); // 獲取id參數 自動判斷get或者post
I('param.id'); // 獲取id參數 自動判斷get或者post 和上面用法等效
I('put.id'); // 獲取put請求的id參數

還支持獲取整個數組,例如:

I('get.'); // 獲取$_GET數組
I('post.'); // 獲取$_POST數組

在使用I方法的情況下,系統的VAR_FILTERS和DEFAULT_FILTER過濾配置依然有效。

4、where方法的多次調用

模型類的where方法可以支持數組方式的多次調用,例如:

$model->where(array('a'=>1,'c'=>2))->where(array('a'=>3,'b'=>1))->select();

多個where條件的時候,后面的條件會合并到前面的條件,最終的條件等效于:

$model->where(array('a'=>3,'b'=>1,'c'=>2))->select();


5、控制器中的assign方法支持連貫操作

我們可以在控制器使用:

$this->assign('name',$name)->assign('email',$email)->display();

或者:

$this->assign(array('name'=>$name,'email'=>$email))->display();

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

于田县| 阿瓦提县| 辉南县| 安龙县| 冕宁县| 河津市| 察哈| 鹤山市| 南昌县| 大理市| 黑河市| 营山县| 阿坝| 永定县| 花垣县| 澎湖县| 余干县| 宝鸡市| 手机| 虹口区| 杭锦旗| 曲阜市| 甘谷县| 金平| 桐梓县| 新津县| 太湖县| 静乐县| 深水埗区| 安西县| 信丰县| 克什克腾旗| 定襄县| 雅江县| 平顺县| 岗巴县| 呼伦贝尔市| 南涧| 卓资县| 禹州市| 夏河县|