php架構CodeIgniter資料庫配置步驟詳解

來源:互聯網
上載者:User
這次給大家帶來php架構CodeIgniter資料庫配置步驟詳解,php架構CodeIgniter資料庫配置的注意事項有哪些,下面就是實戰案例,一起來看一下。

CodeIgniter簡稱CI是最流行的一個php MVC架構之一,本人講從實際項目使用中寫系列實戰經驗,有別與其他的理論講解文章,會附上實戰流程和代碼。

本篇為配置多個資料庫,使用情境為叢集,分布式,資料庫讀寫分離,多台主從互備只有一台為讀寫資料庫,其他為唯讀資料庫。

工具/環境:

php開發環境
CodeIgniter

方法/步驟:

在config/database.php 裡面配置多一個資料庫源,default為預設的可以是localhost也可以是IP,writedb為可讀寫的資料庫,由於寫的為主從互備的需要用IP遠程調用,本人配置為:

$active_group = 'default';$active_record = TRUE;$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'default_username';$db['default']['password'] = 'default_password';$db['default']['database'] = 'default_dbname';$db['default']['dbdriver'] = 'mysql';$db['default']['dbprefix'] = '';$db['default']['pconnect'] = TRUE;$db['default']['db_debug'] = FALSE;$db['default']['cache_on'] = FALSE;$db['default']['cachedir'] = '';$db['default']['char_set'] = 'utf8';$db['default']['dbcollat'] = 'utf8_general_ci';$db['default']['swap_pre'] = '';$db['default']['autoinit'] = TRUE;$db['default']['stricton'] = FALSE;$db['writedb']['hostname'] = '202.187.194.160';$db['writedb']['username'] = 'writedb_name';$db['writedb']['password'] = 'writedb_password';$db['writedb']['database'] = 'writedb_db';$db['writedb']['dbdriver'] = 'mysql';$db['writedb']['dbprefix'] = '';$db['writedb']['pconnect'] = TRUE;$db['writedb']['db_debug'] = TRUE;$db['writedb']['cache_on'] = FALSE;$db['writedb']['cachedir'] = '';$db['writedb']['char_set'] = 'utf8';$db['writedb']['char_names'] = 'utf8';$db['writedb']['dbcollat'] = 'utf8_general_ci';$db['writedb']['swap_pre'] = '';$db['writedb']['autoinit'] = TRUE;$db['writedb']['stricton'] = FALSE;

M(Model)需要用到的Model配置兩個資料來源進來,只需要讀的配置一個就可以了,當然如果是唯寫的也可以單獨配置寫的一個。

本人一個問題反饋的執行個體feedbackmodel.php:

<?phpclass Feedbackmodel extends CI_Model {function construct() {parent::construct ();$this->db = $this->load->database ('default',true);$this->writedb = $this->load->database ('writedb',true);}public function add($data){$this->writedb->insert('feedback',$data);if($this->writedb->affected_rows() == 1){return true;}return false ;}}?>

C(Controller)控制器的調用跟普通的一樣,只要引入Model就可以了,本人執行個體:

<?php class Feedback extends CI_Controller {function construct(){parent::construct();}function index(){$this->load->model('feedbackmodel'); $this->load->helper('url'); $data['name'] = "feedback";$this->load->view('feedbackview',$data);}}?>

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

怎樣使用Thinkphp5+uploadify實現檔案上傳

怎樣實現PHP中ADODB交易處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.