本文较为详细的讲述了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文件设置如下:
<?phpreturn 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程序设计能有所帮助。