最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

復(fù)制代碼 代碼如下:

/* 數(shù)據(jù)庫(kù)設(shè)置 */
 'DB_TYPE'               =>  '',     // 數(shù)據(jù)庫(kù)類(lèi)型
 'DB_HOST'               =>  '', // 服務(wù)器地址
 'DB_NAME'               =>  '',          // 數(shù)據(jù)庫(kù)名
 'DB_USER'               =>  '',      // 用戶(hù)名
 'DB_PWD'                =>  '',          // 密碼
 'DB_PORT'               =>  '',        // 端口
 'DB_PREFIX'             =>  '',    // 數(shù)據(jù)庫(kù)表前綴
 'DB_PARAMS'          =>  array(), // 數(shù)據(jù)庫(kù)連接參數(shù)
 'DB_DEBUG'  =>  TRUE, // 數(shù)據(jù)庫(kù)調(diào)試模式 開(kāi)啟后可以記錄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ù)讀寫(xiě)是否分離 主從式有效
 'DB_MASTER_NUM'         =>  1, // 讀寫(xiě)分離后 主服務(wù)器數(shù)量
 'DB_SLAVE_NO'           =>  '', // 指定從服務(wù)器序號(hào)

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

復(fù)制代碼 代碼如下:

'DB_FIELDTYPE_CHECK' // 3.2.3強(qiáng)制進(jìn)行字段類(lèi)型檢測(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ù)包括:

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

'DB_HOST'               =>  '', // 服務(wù)器地址 采用IP地址
 'DB_NAME'               =>  '',          // 數(shù)據(jù)庫(kù)名
 'DB_USER'               =>  '',      // 用戶(hù)名
 '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è)置:

復(fù)制代碼 代碼如下:

'DB_TYPE'               =>  'mysql',     // 數(shù)據(jù)庫(kù)類(lèi)型
 'DB_HOST'               =>  '192.168.1.10', // 服務(wù)器地址
 'DB_NAME'               =>  'thinkphp',          // 數(shù)據(jù)庫(kù)名
 'DB_USER'               =>  'root',      // 用戶(hù)名
 '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)試模式 開(kāi)啟后可以記錄SQL日志

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

復(fù)制代碼 代碼如下:

//在模型里單獨(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ù)采用全局配置的小寫(xiě)名。

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

//數(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:1234@192.168.1.10:3306/thinkphp#utf8';

然后在模型里面定義:

復(fù)制代碼 代碼如下:

//在模型里單獨(dú)設(shè)置數(shù)據(jù)庫(kù)連接信息
 namespace Home\Model;
 use Think\Model;
 class UserModel extends Model{
    //調(diào)用配置文件中的數(shù)據(jù)庫(kù)配置1
    protected $connection = 'DB_CONFIG1';
    // 或者
    protected $connection = 'DB_CONFIG2';
 }

除了在模型定義的時(shí)候指定數(shù)據(jù)庫(kù)連接信息外,我們還可以在實(shí)例化的時(shí)候指定數(shù)據(jù)庫(kù)連接信息,如果采用的是M方法實(shí)例化模型的話(huà),也可以支持傳入不同的數(shù)據(jù)庫(kù)連接信息,例如:

復(fù)制代碼 代碼如下:

$User = M('User','other_','mysql://root:1234@192.168.1.10/demo#utf8');

表示實(shí)例化User模型,連接的是demo數(shù)據(jù)庫(kù)的other_user表,采用的連接信息是第三個(gè)參數(shù)配置的。
如果我們?cè)陧?xiàng)目配置文件中已經(jīng)配置了DB_CONFIG2的話(huà),也可以采用:
$User = M('User','other_','DB_CONFIG2');

以上就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • ThinkPHP實(shí)現(xiàn)生成和校驗(yàn)驗(yàn)證碼功能

    ThinkPHP實(shí)現(xiàn)生成和校驗(yàn)驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了ThinkPHP實(shí)現(xiàn)生成和校驗(yàn)驗(yàn)證碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Yii2框架redis基本應(yīng)用示例

    Yii2框架redis基本應(yīng)用示例

    這篇文章主要介紹了Yii2框架redis基本應(yīng)用,結(jié)合實(shí)例形式分析了Yii2 redis擴(kuò)展包的安裝、配置及基本數(shù)據(jù)操作相關(guān)技巧,需要的朋友可以參考下
    2018-07-07
  • thinkphp3.2實(shí)現(xiàn)在線(xiàn)留言提交驗(yàn)證碼功能

    thinkphp3.2實(shí)現(xiàn)在線(xiàn)留言提交驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了TP3.2寫(xiě)提交的驗(yàn)證碼驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Nginx下ThinkPHP5的配置方法詳解

    Nginx下ThinkPHP5的配置方法詳解

    今天有個(gè)朋友詢(xún)問(wèn)tp5支持pathinfo的nginx配置怎么寫(xiě)的問(wèn)題,所以想著自己總結(jié)分享下,下面這篇文章主要給大家介紹了關(guān)于在Nginx下ThinkPHP5的配置方法,需要的朋友可以參考借鑒,下面話(huà)不多說(shuō),來(lái)一起看看吧。
    2017-08-08
  • Laravel框架處理用戶(hù)的請(qǐng)求操作詳解

    Laravel框架處理用戶(hù)的請(qǐng)求操作詳解

    這篇文章主要介紹了Laravel框架處理用戶(hù)的請(qǐng)求操作,結(jié)合實(shí)例形式分析了laravel框架請(qǐng)求、響應(yīng)以及中間件、路由等相關(guān)概念與操作技巧,需要的朋友可以參考下
    2019-12-12
  • PHP實(shí)現(xiàn)正則匹配所有括號(hào)中的內(nèi)容

    PHP實(shí)現(xiàn)正則匹配所有括號(hào)中的內(nèi)容

    這篇文章主要介紹了PHP實(shí)現(xiàn)正則匹配所有括號(hào)中的內(nèi)容,需要的朋友可以參考下
    2018-06-06
  • ThinkPHP打開(kāi)驗(yàn)證碼頁(yè)面顯示亂碼的解決方法

    ThinkPHP打開(kāi)驗(yàn)證碼頁(yè)面顯示亂碼的解決方法

    這篇文章主要介紹了ThinkPHP打開(kāi)驗(yàn)證碼頁(yè)面顯示亂碼的解決方法,通過(guò)頭部添加自定義文件驗(yàn)證目錄并過(guò)濾BOM頭來(lái)實(shí)現(xiàn)該功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • thinkPHP5 ACL用戶(hù)權(quán)限模塊用法詳解

    thinkPHP5 ACL用戶(hù)權(quán)限模塊用法詳解

    這篇文章主要介紹了thinkPHP5 ACL用戶(hù)權(quán)限模塊用法,結(jié)合實(shí)例形式詳細(xì)分析了權(quán)限控制所涉及的數(shù)據(jù)庫(kù)、配置、信息獲取、驗(yàn)證規(guī)則等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP Smarty生成EXCEL文檔的代碼

    PHP Smarty生成EXCEL文檔的代碼

    PHP結(jié)合Smarty產(chǎn)生EXCEL文檔 1,首先在EXCEL (office 2003)里生成一個(gè)模板,然后存成 xml表格。 2,修改這個(gè) xml 文件,做成 smarty 的模板。 3,然后,就是 綁定變量,輸出就行了。
    2008-08-08
  • 用 Composer構(gòu)建自己的 PHP 框架之設(shè)計(jì) MVC

    用 Composer構(gòu)建自己的 PHP 框架之設(shè)計(jì) MVC

    幾乎所有人都是通過(guò)學(xué)習(xí)某個(gè)框架來(lái)了解 MVC 的,這樣可能框架用的很熟,一旦離了框架一個(gè)簡(jiǎn)單的頁(yè)面都寫(xiě)不了,更不要說(shuō)自己設(shè)計(jì) MVC 架構(gòu)了,其實(shí)這里面也沒(méi)有那么多門(mén)道,原理非常清晰
    2014-10-10

最新評(píng)論

宜兴市| 苗栗市| 新安县| 津市市| 梨树县| 石首市| 台中县| 汝阳县| 手游| 神农架林区| 通化市| 调兵山市| 敦煌市| 长葛市| 东丰县| 宽甸| 通城县| 襄垣县| 静宁县| 台南市| 永登县| 博罗县| 阜平县| 易门县| 榆社县| 宿州市| 濮阳县| 双峰县| 双流县| 黔南| 宁夏| 遵化市| 云安县| 信阳市| 石台县| 开原市| 莱芜市| 维西| 金沙县| 同仁县| 石嘴山市|