本文较为详细的讲述了ThinkPHP连接数据库及主从数据库的设置方法,在ThinkPHP项目开发中非常实用。具体实现方法如下:
一、项目根目录上建立config.php
代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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' , // 数据库端口
);
?>
|
二、设置项目配置文件
\Home\Conf\config.php文件代码如下:
1
2
3
4
5
6
7
|
<?php
$arr1 = array {
'URL_MODEL' =>2, //pathinfo访问模式
};
$arr2 = include './config.php' ;
return array_merge ( $arr1 , $arr2 ); //数组整合
?>
|
\Admin\Conf\config.php文件代码如下:
1
2
3
4
5
6
7
|
<?php
$arr1 = array {
'URL_MODEL' =>1, //普通访问模式 get方式
};
$arr2 = include './config.php' ;
return array_merge ( $arr1 , $arr2 ); //数组整合
?>
|
三、主从数据库设置
该设置比较适合高并发,高负载的大型网站
读者可以到\ThinkPHP\Common\convention.php中查看默认的系统常量设置
config.php文件设置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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中读取数据库文件参数:
1
2
3
4
5
|
$hh =C( 'DB_HOST' ); //C可以读取配置文件中的值
$pp =C( 'DB_PREFIX' );
$this ->assain( 'h' , $hh );
$this ->assain( 'p' , $pp );
$this ->display();
|
这个action下的tpl:
1
2
|
数据库服务器地址:{$h}
数据库表前缀:{$p}
|
希望本文所述方法对大家的ThinkPHP程序设计能有所帮助。