做个小型oop框架,数据库链接问题
时间:2011-12-14
来源:互联网
例如,在aaa控制器(类)中的home方法里操作数据库,每次操作某个模型(数据表)的时候,代码如下:
$obj1 = parent::sql('table_a');
$obj2 = parent::sql('table_b');
table_a和table_b是我建好的两个模型(对应相应数据表),继承mysql操作类。
mysql操作类中,原本我在解析函数中执行了mysql_connect,后来想到每次操作一个表的时候都要重新链接数据库,太耗资源了,于是将mysql_connect提到了外面函数中,每次需要操作数据库的时候,就直接在方法内部的最上面执行,这样就只会链接一次数据库了。
但问题出来了:我需要在一个方法中同时操作两个数据库中的表,这样的话,貌似只能在mysql操作类的解析函数中执行mysql_connect了,这样虽然可以自动化链接不同数据库,但是每次都要执行mysql_connect了,大家知道php站点的效率问题就出在数据库交互上面,如何解决上面的问题呢,跪求前辈指点,不胜感谢。
看了thinkphp的,没找到头绪,汗。
$obj1 = parent::sql('table_a');
$obj2 = parent::sql('table_b');
table_a和table_b是我建好的两个模型(对应相应数据表),继承mysql操作类。
mysql操作类中,原本我在解析函数中执行了mysql_connect,后来想到每次操作一个表的时候都要重新链接数据库,太耗资源了,于是将mysql_connect提到了外面函数中,每次需要操作数据库的时候,就直接在方法内部的最上面执行,这样就只会链接一次数据库了。
但问题出来了:我需要在一个方法中同时操作两个数据库中的表,这样的话,貌似只能在mysql操作类的解析函数中执行mysql_connect了,这样虽然可以自动化链接不同数据库,但是每次都要执行mysql_connect了,大家知道php站点的效率问题就出在数据库交互上面,如何解决上面的问题呢,跪求前辈指点,不胜感谢。
看了thinkphp的,没找到头绪,汗。
作者: q309056448 发布时间: 2011-12-14
这个可以通过singleton的变形方式来解决
或者看看registry design pattern
或者看看registry design pattern
作者: helloyou0 发布时间: 2011-12-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28