我们仍然做一个数据读写分离的示例。
示例代码:
<?php
namespace Database;
use TT\Factory;
class Proxy()
{
function query($sql)
{
if(substr($sql, 0, 6) == 'select') {
echo "读操作:" . $sql . "<br />";
return Factory::getDatabase('slave')::query($sql);
} else {
echo "写操作:" . $sql . "<br />";
return Factory::getDatabase('master')::query($sql);
}
}
}
执行一下:
$db = Factory::getDatabase();
$db->query("select * from user limit 1");
$db->query("delect from user where id = 1");
$db->query("update user set name='zhangsan' where id = 1");