> > > Zend Framework 22: Cấu hình Mutil Database trong ứng dụng

Zend Framework 22: Cấu hình Mutil Database trong ứng dụng

Sử dụng đa database cùng 1 lúc cho ứng dụng.Đầu tiên tạo phần cấu hình multi db trong application.ini

Bán tài liệu zend tiếng việt: 500.000 vnđ (500 k)

Hotline: 0933.381.903
Yahoo: Mua bán online
Email: songthan.hctm@gmail.com

Sử dụng đa database cùng 1 lúc cho ứng dụng.
Đầu tiên tạo phần cấu hình multi db trong application.ini
 

PHP Code:
    ;=====================================
    ;   
DATABASE
    
;=====================================
    
resources.multidb.product.adapter "pdo_mysql"
    
resources.multidb.product.host "localhost"
    
resources.multidb.product.username "root"
    
resources.multidb.product.password "root"
    
resources.multidb.product.dbname "shopping"
    
resources.multidb.product.charset "utf8"
    
resources.multidb.product.isDefaultTableAdapter true


    resources
.multidb.news.adapter "pdo_mysql"
    
resources.multidb.news.host "localhost"
    
resources.multidb.news.username "root"
    
resources.multidb.news.password "root"
    
resources.multidb.news.dbname "news" 

Trong file Boostrap.php, set registry DB

PHP Code:
       protected function _initDb(){
                   
// get params on resource
          
$resource $this->getPluginResource('multidb');
                    
$resource->init();
                   
//set Config in Registry
          
Zend_Registry::set('Config',$resource);
       
       } 

Tạo 1 file Table.php trong thư viện mỡ rộng Qhonline/Db
 

PHP Code:
    <?php
    
class Qhonline_Db_Table extends Zend_Db_Table_Abstract{
       public  function 
__construct($config null){
          
//get Db, if empty DB return setDefaultDB.
          
if(isset($this->_db)){

                        
$dbAdapters Zend_Registry::get('Config');
                         
                        
$config $dbAdapters->getDb($this->_db);
                        
Zend_Db_Table::setDefaultAdapter($config);
                     }
          return 
parent::__construct($config);
       }

Trong phần Model, khi muốn khởi tạo chỉ cần khai báo 3 tham số.
 

PHP Code:
    <?php
    
class Estate_Model_News extends Qhonline_Db_Table{
       protected 
$_name 'items';
       protected 
$_primary 'id';
       protected 
$_db 'product';
    
?>

Khi các bạn thay đổi kết nối đến db khác chỉ cần thay đổi tham số trong model
 

PHP Code:
    <?php
    
class Estate_Model_News extends Qhonline_Db_Table{
       protected 
$_name 'items';
       protected 
$_primary 'id';
       protected 
$_db 'news';
    
?>

Chúc các bạn thành công.

Bán tài liệu zend tiếng việt: 500.000 vnđ (500 k)

Hotline: 0933.381.903
Yahoo: Mua bán online
Email: songthan.hctm@gmail.com