DB几乎存在于每一个PHP代码中,那么如何写好DB的连接器?
可能很多人都没有关注过这个话题,因此大多数情况底层的DB连接已经有人给我们做好了。知其然更要知其所以然,我们来看看如何做数据库的连接器吧。
# 第六节:数据库连接管理===
# 场景
我们的环境中有多个DB服务器要连,有的是常见的mysql,有的是其它的DB,如何管理好这些连接呢? 我经常会写些脚本,查询一些已有的数据,这些数据库可能是线上的正式库,可能是本机的测试库,如果没有好的管理器,每次查询我都得花一些精力来找到这些配置,然后再手动连接。
#目标
1. 很方便地使用2. 不再关心配置,或者一次配置,“永久”使用3. 集成常用的操作
# 单例、代理
聊我们的解决方案之前,我们先了解一下单例和代理。这是两个非常常用的设计模式。 单例:全局唯一;适用于某些只适合创建一次的对象,并保证数据同步;代理:根据不同的需要,进行不同的对象初始化。
# 实践
1. 根据配置文件控制可连接的DB2. 使用代理返回要连接的DB3. 默认的配置,满足单一DB情况下的场景
可能很多人都没有关注过这个话题,因此大多数情况底层的DB连接已经有人给我们做好了。知其然更要知其所以然,我们来看看如何做数据库的连接器吧。
# 第六节:数据库连接管理===
# 场景
我们的环境中有多个DB服务器要连,有的是常见的mysql,有的是其它的DB,如何管理好这些连接呢? 我经常会写些脚本,查询一些已有的数据,这些数据库可能是线上的正式库,可能是本机的测试库,如果没有好的管理器,每次查询我都得花一些精力来找到这些配置,然后再手动连接。
#目标
1. 很方便地使用2. 不再关心配置,或者一次配置,“永久”使用3. 集成常用的操作
# 单例、代理
聊我们的解决方案之前,我们先了解一下单例和代理。这是两个非常常用的设计模式。 单例:全局唯一;适用于某些只适合创建一次的对象,并保证数据同步;代理:根据不同的需要,进行不同的对象初始化。
# 实践
1. 根据配置文件控制可连接的DB2. 使用代理返回要连接的DB3. 默认的配置,满足单一DB情况下的场景