日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

說說ThinkPHP3.1.3版本的特性

來源:程序員人生   發布時間:2014-04-21 06:15:40 閱讀次數:4148次
官方昨天正式發布了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方法調用中存在的模版賦值無效的情況。


還有很多的細節完善,后續再來描述吧。是否值得升級自己權衡吧,哈哈~也希望大家把使用新版中遇到的問題及時反饋給我們。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩精品一区二区三区中文在线 | 亚洲精品在线播放 | 91国内精品久久 | 日本精品在线观看 | 中文字幕亚洲欧美日韩在线不卡 | 国产精品999 | 97自拍偷拍视频 | 99亚洲| 免费日韩毛片 | 美女国产视频 | 玖玖玖视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 欧美性hd | 国产激情视频在线 | 91精品久久久久久久久久入口 | av日韩久久 | av网站大全在线观看 | 日韩精品视频在线免费观看 | 国产精品一区二区三区在线 | 毛片免费在线观看 | 狠狠操电影 | 日本不卡中文字幕 | 国产精品亚洲第一 | 成人精品在线播放 | 美日韩三级 | a在线天堂| av在线毛片 | 高清国产一区二区三区四区五区 | 91网国产在线观看 | 久久精品网站视频 | 日韩国产精| 日本一级在线观看 | 国产午夜在线 | 国产一级黄色片免费看 | 国产高清一二三区 | 全免一级毛片 | 91麻豆精品国产91久久久使用方法 | 91精品国产欧美一区二区 | 国产精品一区免费视频 | 精品国产第一国产综合精品 | 国产伦精品一区二区三区照片91 |