php – 在类之间共享数据库连接的最佳方式

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在类之间共享数据库连接的最佳方式脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够从PRint_r隐藏我的数据库连接,所以我使用静态变量.我有一个基类和一些对象类.理想情况下,它们都将共享相同的数据库连接.分享这个的最佳方式是什么? @H_126_5@我设置它的方式现在“有效”,但它感觉不对.必须是更好的方法.
(从逻辑上讲,这些类不应该互相继承)

class base {

  private static $db;

  function __construct() {

    self::$db = new DB(); // our database class
    $foo = new Foo( self::$db ); // some other class that needs the same connection

  }

}

class Foo {

  private static $db;

  function __construct( $db ) {
    self::$db = $db;
  }

}

解决方法

您可以在数据库类中使用静态方法,它将返回自身的实例.

$db = DB::getInstance();

此外,您可以实现单例模式.你可以在这里读到它.

PHP Patterns

主要的想法是你将数据库对象保存在静态属性中,然后在getInstance中检查它是否设置你返回它还是创建新的,构造函数应该是私有的,这样就不能在getInstance中的任何地方创建Object.这可确保始终存在一个DB对象实例.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在类之间共享数据库连接的最佳方式全部内容,希望文章能够帮你解决php – 在类之间共享数据库连接的最佳方式所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。