이 기사에서는 ThinkPHP를 데이터베이스에 연결하고 마스터-슬레이브 데이터베이스를 설정하는 방법을 자세히 설명합니다. 이는 ThinkPHP 프로젝트 개발에 매우 실용적입니다. 구체적인 구현 방법은 다음과 같습니다.
1. 프로젝트 루트 디렉터리에 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',// 数据库端口 ); ?>
2. 프로젝트 구성 파일 설정
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); //数组整合 ?>
3. 마스터-슬레이브 데이터베이스 설정
이 설정은 동시성과 부하가 높은 대규모 웹사이트에 더 적합합니다
독자는 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,//读写分离,默认第一台服务器为写入服务器,其它的只读取不写入 ); ?>
작업에서 데이터베이스 파일 매개변수 읽기:
$hh=C('DB_HOST'); //C可以读取配置文件中的值 $pp=C('DB_PREFIX'); $this->assain('h',$hh); $this->assain('p',$pp); $this->display();
이 작업의 tpl:
数据库服务器地址:{$h} 数据库表前缀:{$p}
이 글에서 설명하는 방법이 모든 사람의 ThinkPHP 프로그래밍 설계에 도움이 되기를 바랍니다.