>  기사  >  백엔드 개발  >  php开发中数据库连接创建和关闭的较好时机问题

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

WBOY
WBOY원래의
2016-06-06 20:37:37956검색

刚刚学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中去。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.