Phalconフレームワークの読み書き分離の実現方法
1230 ワード
Phalconフレームワークの読み書き分離の実現方法
DI容器にdbサービスを2つ登録したとします.以下のようにします.
そしてModelでこのように処理すればいいです.
DI容器にdbサービスを2つ登録したとします.以下のようにします.
<?php
//
$di->setShared('dbWrite', function() use ($config) {
return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
"host" => $config->w_database->host,
"username" => $config->w_database->username,
"password" => $config->w_database->password,
"dbname" => $config->w_database->name
));
});
// VIP
$di->setShared('dbRead', function() use ($config) {
return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
"host" => $config->r_database->host,
"username" => $config->r_database->username,
"password" => $config->r_database->password,
"dbname" => $config->r_database->name
));
});
そしてModelでこのように処理すればいいです.
<?php
class UserModel extends \Phalcon\Mvc\Model {
public function initialize() {
parent::initialize();
$this->setReadConnectionService('dbRead');
$this->setWriteConnectionService('dbWrite');
}
}