日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

ThinkPHP3.2.3數(shù)據(jù)庫(kù)設(shè)置新特性_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:ThinkPHP 3.2 版本升級(jí)了哪些內(nèi)容
ThinkPHP 3.2發(fā)布了挺長(zhǎng)時(shí)間了,這里也總結(jié)下這次ThinkPHP 3.2到底發(fā)生了哪些變化,方便程序員們進(jìn)行開發(fā)。 前言 ThinkPHP 3.2 基于 ThinkPHP 3.1 的基礎(chǔ)上有許多的變化,我覺(jué)得這個(gè)版本應(yīng)該設(shè)立為 ThinkPHP 4.0 而不是什么 3.2。如果你在使用 ThinkPHP 3.1 請(qǐng)勿貿(mào)然遷

 前篇文章,我們總結(jié)了下ThinkPHP3.2中所產(chǎn)生的新變化,本文我們來(lái)詳細(xì)看下關(guān)于數(shù)據(jù)庫(kù)這塊有哪些新特性,非常細(xì)致,有需要的小伙伴參考下。

   

ThinkPHP3.2.3版本數(shù)據(jù)庫(kù)驅(qū)動(dòng)采用PDO完全重寫,配置和使用上面也比之前版本更加靈活和強(qiáng)大,我們來(lái)了解下如何使用。

首先,3.2.3的數(shù)據(jù)庫(kù)配置信息有所調(diào)整,完整的數(shù)據(jù)庫(kù)設(shè)置包括:

 

代碼如下:
/* 數(shù)據(jù)庫(kù)設(shè)置 */
'DB_TYPE' => '', // 數(shù)據(jù)庫(kù)類型
'DB_HOST' => '', // 服務(wù)器地址
'DB_NAME' => '', // 數(shù)據(jù)庫(kù)名
'DB_USER' => '', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 數(shù)據(jù)庫(kù)表前綴
'DB_PARAMS' => array(), // 數(shù)據(jù)庫(kù)連接參數(shù)
'DB_DEBUG' => TRUE, // 數(shù)據(jù)庫(kù)調(diào)試模式 開啟后可以記錄SQL日志
'DB_LITE' => false, // 使用數(shù)據(jù)庫(kù)Lite模式
'DB_FIELDS_CACHE' => true, // 啟用字段緩存
'DB_CHARSET' => 'utf8', // 數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8
'DB_DEPLOY_TYPE' => 0, // 數(shù)據(jù)庫(kù)部署方式:0 集中式(單一服務(wù)器),1 分布式(主從服務(wù)器)
'DB_RW_SEPARATE' => false, // 數(shù)據(jù)庫(kù)讀寫是否分離 主從式有效
'DB_MASTER_NUM' => 1, // 讀寫分離后 主服務(wù)器數(shù)量
'DB_SLAVE_NO' => '', // 指定從服務(wù)器序號(hào)

 

相對(duì)3.2.2版本來(lái)說(shuō),取消了如下設(shè)置參數(shù):

 

代碼如下:
'DB_FIELDTYPE_CHECK' // 3.2.3強(qiáng)制進(jìn)行字段類型檢測(cè)了
'DB_SQL_BUILD_CACHE' // 3.2.3取消了SQL創(chuàng)建緩存
'DB_SQL_BUILD_QUEUE' // 3.2.3取消了SQL創(chuàng)建緩存
'DB_SQL_BUILD_LENGTH' // 3.2.3取消了SQL創(chuàng)建緩存
'DB_SQL_LOG' // 由新增的DB_DEBUG參數(shù)取代
'DB_BIND_PARAM' // 新版采用PDO 自動(dòng)參數(shù)綁定 無(wú)需設(shè)置

 

新增的數(shù)據(jù)庫(kù)設(shè)置參數(shù)包括:

 

代碼如下:
'DB_DEBUG' //用于開啟數(shù)據(jù)庫(kù)調(diào)試模式,開啟后即可記錄SQL日志
'DB_LITE' // 是否采用數(shù)據(jù)庫(kù)Lite模式連接 開啟后只能使用原生SQL查詢

 

3.2.2版本數(shù)據(jù)庫(kù)的調(diào)試模式和項(xiàng)目的調(diào)試模式(由APP_DEBUG常量定義)是綁定的 ,3.2.3版本開始數(shù)據(jù)庫(kù)的調(diào)試模式是獨(dú)立設(shè)置(由DB_DEBUG參數(shù)設(shè)置)的。

DB_TYPE參數(shù)為數(shù)據(jù)庫(kù)類型設(shè)置,目前支持的驅(qū)動(dòng)包括mysql/sqlite/oracle/pgsql/sqlsrv/firebird(其他的數(shù)據(jù)庫(kù)類型需要增加驅(qū)動(dòng)),設(shè)置如下:
'DB_TYPE'=>'mysql', // 不再支持設(shè)置為PDO 也不再區(qū)分mysql和mysqli
復(fù)制代碼
數(shù)據(jù)庫(kù)的連接信息,主要包括下面參數(shù):

 

代碼如下:
'DB_HOST' => '', // 服務(wù)器地址 采用IP地址
'DB_NAME' => '', // 數(shù)據(jù)庫(kù)名
'DB_USER' => '', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => '', // 端口 留空則取默認(rèn)端口
'DB_CHARSET' => '', // 數(shù)據(jù)庫(kù)編碼

 

以上設(shè)置參數(shù)會(huì)在實(shí)例化PDO的時(shí)候自動(dòng)轉(zhuǎn)換為PDO的連接參數(shù)傳入。

DB_DSN參數(shù)一般無(wú)需設(shè)置,系統(tǒng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)會(huì)進(jìn)行默認(rèn)設(shè)置,如果需要調(diào)整,請(qǐng)遵循PDO的相關(guān)數(shù)據(jù)庫(kù)連接的DSN設(shè)置進(jìn)行設(shè)置。

DB_PARAMS用于設(shè)置數(shù)據(jù)庫(kù)的連接參數(shù),會(huì)傳入PDO實(shí)例化的第四個(gè)參數(shù)。

下面是一個(gè)典型的數(shù)據(jù)庫(kù)全局設(shè)置:

 

代碼如下:
'DB_TYPE' => 'mysql', // 數(shù)據(jù)庫(kù)類型
'DB_HOST' => '192.168.1.10', // 服務(wù)器地址
'DB_NAME' => 'thinkphp', // 數(shù)據(jù)庫(kù)名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => '1234', // 密碼
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫(kù)表前綴
'DB_CHARSET' => 'utf8', // 數(shù)據(jù)庫(kù)編碼
'DB_DEBUG' => TRUE, // 數(shù)據(jù)庫(kù)調(diào)試模式 開啟后可以記錄SQL日志

 

如果在模型類中設(shè)置單獨(dú)的數(shù)據(jù)庫(kù)連接信息connection屬性,可以使用下面的數(shù)組或者字符串方式:

 

代碼如下:
//在模型里單獨(dú)設(shè)置數(shù)據(jù)庫(kù)連接信息
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
// 采用數(shù)組方式定義
protected $connection = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => '192.168.1.10',
'db_port' => '3306',
'db_name' => 'thinkphp',
'db_charset' => 'utf8',
);
}

 

注意:在模型中設(shè)置的數(shù)據(jù)庫(kù)連接設(shè)置參數(shù)采用全局配置的小寫名。

或者采用字符串方式定義,格式為:
數(shù)據(jù)庫(kù)類型://用戶名:密碼@數(shù)據(jù)庫(kù)地址:數(shù)據(jù)庫(kù)端口/數(shù)據(jù)庫(kù)名#字符集
例如:

 

代碼如下:
//在模型里單獨(dú)設(shè)置數(shù)據(jù)庫(kù)連接信息
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
// 使用字符串方式定義
protected $connection = 'mysql://root:[email protected]:3306/thinkphp#utf8';
}

 

也可以通過(guò)配置文件設(shè)置,例如:

 

代碼如下:
//數(shù)據(jù)庫(kù)配置1
'DB_CONFIG1' => array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => '192.168.1.10',
'db_port' => '3306',
'db_name' => 'thinkphp',
'db_charset'=> 'utf8',
),
//數(shù)據(jù)庫(kù)配置2
'DB_CONFIG2' => 'mysql://root:[email protected]:3306/thinkphp#utf8';

 

然后在模型里面定義:

分享:thinkPHP學(xué)習(xí)筆記之安裝配置篇
這篇文章主要介紹了一款國(guó)產(chǎn)MVC框架thinkPHP,這里講訴的是thinkphp的安裝與配置,以及一個(gè)簡(jiǎn)單實(shí)例,有需要的小伙伴可以參考下。 國(guó)產(chǎn)框架thinkPHP,是一款MVC框架,這個(gè)框架最初模擬JAVA的struts框架,使用單一入口文件模擬JAVA的過(guò)濾器,使用action來(lái)模擬STRUTS的控

共2頁(yè)上一頁(yè)12下一頁(yè)
來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2015-03-08
相關(guān)PHP教程