本文较为详细的讲述了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程序设计能有所帮助。
文章来源:http://www.jb51.net/article/54215.htm