Dav*_*unt 6 php oop variables global class
我有一个数据库类,它的实例在主宣布index.php为
$db = new Database();
有没有办法让$db变量在所有其他类中被全局识别而不必声明
global $db;
在每个类的构造函数中?
Tyl*_*ter 16
不.您必须在每个类的构造函数中声明Global $ db.
或者您可以使用全局数组:$ _GLOBALS ['vars'];
解决这个问题的唯一方法是使用静态类来包装它,称为Singleton方法(请参阅此处获取解释).但这是非常糟糕的做法.
  class myClass
   {
    static $class = false;
    static function get_connection()
    {
        if(self::$class == false)
        {
            self::$class = new myClass;
        }
        else
        {
            return self::$class;
        }
    }
    // Then create regular class functions.
   }
创建单例方法是为了确保只有一个类的实例.但是,因为人们将它用作快捷方式的一种方式,所以它被称为懒惰/糟糕的编程.
StackOverflow知识
如何避免使用PHP全局对象
在不使用全局变量的情况下在PHP中的函数之间共享变量
使全局变量可访问类全局或单例内的每个函数以
进行数据库连接  
| 归档时间: | 
 | 
| 查看次数: | 5921 次 | 
| 最近记录: |