本文较为详细的讲述了ThinkPHP连接数据库及主从数据库的设置方法,在ThinkPHP项目开发中非常实用。具体实现方法如下:
一、项目根目录上建立config.php
代码如下所示:
<?php if(!defined("THINK_PATH")) exit(); return array( "DB_TYPE" => "mysql",// 数据库类型 "DB_HOST" => "localhost",// 主机 "DB_NAME" => "aoli",// 数据库名称 "DB_USER" => "root",// 数据库用户名 "DB_PWD" => "",// 数据库密码 "DB_PREFIX" => "",// 数据表前缀 "DB_CHARSET" => "utf8",// 网站编码 "DB_PORT" => "3306",// 数据库端口 ); ?>
二、设置项目配置文件
HomeConfconfig.php文件代码如下:
<?php $arr1=array{ "URL_MODEL"=>2, //pathinfo访问模式 }; $arr2=include "./config.php"; return array_merge($arr1,$arr2); //数组整合 ?>
AdminConfconfig.php文件代码如下:
<?php $arr1=array{ "URL_MODEL"=>1, //普通访问模式 get方式 }; $arr2=include "./config.php"; return array_merge($arr1,$arr2); //数组整合 ?>
三、主从数据库设置
该设置比较适合高并发,高负载的大型网站
读者可以到ThinkPHPCommonconvention.php中查看默认的系统常量设置
config.php文件设置如下:
<?php return array( //"配置项"=>"配置值" //后台 "URL_MODE"=>0, "DB_TYPE"=>"mysql", "DB_HOST"=>"localhost,192.168.1.2",//两台数据库服务器 "DB_PORT"=>"3306", "DB_NAME"=>"thinkphptest",//如果数据库名相同,不用定义多个,如果不相同与服务器依次对应 "DB_USER"=>"root", "DB_PWD"=>"password", //表前缀 "DB_PREFIX"=>"think_", //接下来配置主从数据库 "DB_DEPLOY_TYPE"=>1,//开启分布式数据库 "DB_RW_SEPARATE"=>ture,//读写分离,默认第一台服务器为写入服务器,其它的只读取不写入 ); ?>
在某个action中读取数据库文件参数:
$hh=C("DB_HOST"); //C可以读取配置文件中的值 $pp=C("DB_PREFIX"); $this->assain("h",$hh); $this->assain("p",$pp); $this->display();
这个action下的tpl:
数据库服务器地址:{$h} 数据库表前缀:{$p}
希望本文所述方法对大家的ThinkPHP程序设计能有所帮助。