多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > ThinkPHP > 說說ThinkPHP3.1.3版本的特性

說說ThinkPHP3.1.3版本的特性

來源:程序員人生   發布時間:2014-04-21 06:15:40 閱讀次數:4143次
官方昨天正式發布了ThinkPHP3.1.3版本,雖然該版本只是一個小版本更新,但是有一些特性,還是值得關注的,下面來簡單說下。

1、異常方面的改進

新版重寫了異常類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();

6、分組的完整域名部署

之前版本只能支持把分組部署到某個二級域名,現在我們可以部署到某個IP地址或者完整域名,例如:
'APP_SUB_DOMAIN_DEPLOY'=>true,
'APP_SUB_DOMAIN_RULES'=>array(
    '202.5.6.78'=>array('admin/'), // 部署admin分組到IP地址202.5.6.78訪問
    'admin.mydomain.com'=>array('admin/'), // 部署admin分組到admin.mydomain.com域名
)

7、獨立分組語言包位置的改進

改進后,獨立分組的語言包直接放入分組目錄下面的Lang目錄,并且公共語言包仍然是common.php,模塊語言包是:模塊名.php。

8、跨獨立分組調用支持

3.1.3版本中獨立分組的情況下,A方法和D方法均支持跨分組調用(用法同跨普通分組調用),并且修正了R方法調用中存在的模版賦值無效的情況。


還有很多的細節完善,后續再來描述吧。是否值得升級自己權衡吧,哈哈~也希望大家把使用新版中遇到的問題及時反饋給我們。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费日韩一级片 | 亚洲免费观看视频 | 国产成人高清一区二区私人 | 免费的禁片 | 欧美成人免费网在线观看 | 性xx视频 | 亚洲黑人嫩小videos | 亚洲欧美日韩成人 | 男人边吃奶边做好爽男女视频 | 欧美人与动人物a级网站 | 午夜亚洲精品久久久久久 | 国产农村女人一级毛片了 | 美女教师一级毛片 | 最新精品亚洲成a人在线观看 | 亚洲精品成人网 | 名优写真一区二区在线 | 2018精品国产一区二区 | 搞黄视频在线观看 | 亚洲欧美日韩国产综合久 | 日本最新伦中文字幕 | 中文字幕成人免费高清在线 | 欧美jizz18欧美| 国产日产欧美精品一区二区三区 | 国产91精品黄网在线观看 | 美日韩中文字幕 | 一区二区视频在线观看高清视频在线 | 欧美三级短视频 | 欧美视频不卡 | 欧美一级特毛片 | 亚洲第一视频在线播放 | 欧美第八页 | 国产 日韩 一区 | 精品视频在线观看一区二区三区 | 天天更新天天久久久更新影院 | 视频在线高清完整免费观看 | 久久久久国产精品免费免费不卡 | 与黑人女人做爰的真实感受 | 狠狠se| 波多野结衣欧美 | 成人免费小视频 | 在线观看中文字幕2021 |