欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php开发中数据库连接创建和关闭的较好时机问题

程序员文章站 2024-01-25 22:58:58
...
刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难,

最开始用的是配置文件的方法,
在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等,
然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码。
后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用
$db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连接
在析构函数中关闭连接,然后在各个函数中使用连接。
那么这个时候该怎么办,难道每一个类中都要创建一个变量来保存数据库连接?
然后在构造函数为其赋值一个已经打开的数据库连接,在析构函数中关闭?
写的乱七八糟的....请赐教

回复内容:

刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难,

最开始用的是配置文件的方法,
在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等,
然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码。
后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用
$db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连接
在析构函数中关闭连接,然后在各个函数中使用连接。
那么这个时候该怎么办,难道每一个类中都要创建一个变量来保存数据库连接?
然后在构造函数为其赋值一个已经打开的数据库连接,在析构函数中关闭?
写的乱七八糟的....请赐教

原因是你没有使用面向对象来解决问题。

写一个超类去走数据库链接的操作,把链接放在$this->db中去 ,然后,其他业务类继承这个类,请问,还存在每个类要创建一个变量来保存数据库连接吗?是不是直接 $this->db 就拿到了数据库连接了。

我这只是一个思路,但是设计上不应该这么做,数据操作应该放在 Model中,而不是直接放在Controller中去。

相关标签: php