Php 如何从其他文件访问PDO连接?
如何从单独的文件访问类方法中的PDO连接(到mysql),而不必每次需要连接时都重写新的PDO()?而不使用单身模式——这显然是不受欢迎的 编辑:Php 如何从其他文件访问PDO连接?,php,mysql,pdo,Php,Mysql,Pdo,如何从单独的文件访问类方法中的PDO连接(到mysql),而不必每次需要连接时都重写新的PDO()?而不使用单身模式——这显然是不受欢迎的 编辑: 我过去所做的是创建一个数据库类,在该类中,通过mysql\u connect在一个u构造方法中为连接分配了$connection属性。在同一个文件中,我将实例化该类,以便它可以运行。然后,每当我需要该连接时,我只需要该数据库文件,并在需要$connection的方法中添加一个全局$connection。我只是想不出一个可靠的方法来用新的PDO($ds
我过去所做的是创建一个数据库类,在该类中,通过mysql\u connect在一个u构造方法中为连接分配了$connection属性。在同一个文件中,我将实例化该类,以便它可以运行。然后,每当我需要该连接时,我只需要该数据库文件,并在需要$connection的方法中添加一个全局$connection。我只是想不出一个可靠的方法来用新的PDO($dsn,$user,$password)实现这一点 最好将其存储在一个变量中,该变量可以全局访问 传统上,您会将变量存储在名称空间中,尽管这是一个简单的名称空间 不要使用
单例
,您应该做的是将对象放置到一个like中
简单地说,您只需要创建一个包含两个静态成员的类<代码>设置($key,$value)和
获取($key)
。当您构造PDO对象时,只需调用set('db',$pdoConnection)
来存储它,当您需要访问数据库时,调用get('db')
您最好将其存储在一个全局可访问的变量中
传统上,您会将变量存储在名称空间中,尽管这是一个简单的名称空间
不要使用单例
,您应该做的是将对象放置到一个like中
简单地说,您只需要创建一个包含两个静态成员的类<代码>设置($key,$value)和
获取($key)
。构建PDO对象时,只需调用set('db',$pdoConnection)
来存储它,当需要访问数据库时,调用get('db')
是什么使得Zend_注册表
与$GLOBALS['Registry'][db]=$pdoConnection不同代码>?@hakre是一个对象,因此它封装了注册表的状态。理论上,您可以在get
和set
调用中添加额外的功能(如日志记录)。使用vanilla$GLOBALS数组无法做到这一点。当然,请使用ArrayAccess
将某些内容放入$GLOBALS['registry']
,例如,一次写入,多次读取哈希。@hakre您应该将此作为备选答案发布ArrayAccess
似乎是一个简单注册表对象的良好基础。是什么使Zend_registry
不同于$GLOBALS['registry'][db]=$pdoConnection代码>?@hakre是一个对象,因此它封装了注册表的状态。理论上,您可以在get
和set
调用中添加额外的功能(如日志记录)。使用vanilla$GLOBALS数组无法做到这一点。当然,请使用ArrayAccess
将某些内容放入$GLOBALS['registry']
,例如,一次写入,多次读取哈希。@hakre您应该将此作为备选答案发布ArrayAccess
似乎是简单注册表对象的良好基础。相关:相关: