欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

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

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

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

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

   

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

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

 

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

 

相對3.2.2版本來說,取消了如下設(shè)置參數(shù):

 

代碼如下:
'DB_FIELDTYPE_CHECK' // 3.2.3強(qiáng)制進(jìn)行字段類型檢測了
'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 自動參數(shù)綁定 無需設(shè)置

 

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

 

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

 

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

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

 

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

 

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

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

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

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

 

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

 

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

 

代碼如下:
//在模型里單獨(dú)設(shè)置數(shù)據(jù)庫連接信息
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ù)庫連接設(shè)置參數(shù)采用全局配置的小寫名。

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

 

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

 

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

 

代碼如下:
//數(shù)據(jù)庫配置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ù)庫配置2
'DB_CONFIG2' => 'mysql://root:1234@192.168.1.10:3306/thinkphp#utf8';

 

然后在模型里面定義:

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

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