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