Cette fois, je vais vous apporter une explication détaillée du framework phpétapes de configuration de la base de données CodeIgniter, et quelles sont les notes pour la configuration de la base de données CodeIgniter du framework php. Ce qui suit est un exemple pratique. cas, jetons un coup d'oeil.
CodeIgniter, appelé CI, est l'un des frameworks PHP MVC les plus populaires. J'écrirai une série d'expériences pratiques tirées de l'utilisation réelle du projet. Différent des autres articles théoriques, je joindrai des processus et des codes pratiques.
Cet article concerne la configuration de plusieurs bases de données. Le scénario d'utilisation est le clustering, la distribution et la séparation en lecture et en écriture de la base de données. Parmi plusieurs serveurs de sauvegarde maître-esclave, un seul est une base de données en lecture-écriture, et les autres le sont. bases de données en lecture seule.
Outils/environnements :
Environnement de développement php
CodeIgniter
Méthodes/étapes :
Configurez une source de base de données supplémentaire dans config/database.php. La valeur par défaut est localhost ou IP writedb est une base de données lisible et inscriptible puisque la sauvegarde mutuelle maître-esclave écrite nécessite une adresse IP. appel à distance. Ma configuration est :
$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 (Modèle). Le modèle qui doit être utilisé configure deux sources de données. Vous n'avez besoin d'en configurer qu'une pour la lecture. l'écriture, vous pouvez également configurer celle de l'écriture séparément.
Un exemple de feedback model.php :
<?php class 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)L'appel du contrôleur est le même que d'habitude, il suffit d'introduire le Model , Mon propre exemple :
<?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); } } ?>
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Comment utiliser Thinkphp5+uploadify pour implémenter le téléchargement de fichiers
Comment implémenter le traitement des transactions ADODB dans PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!