我有一个php类,需要将PDO实例传递给它的构造函数。代码将是这样的:
$pdo = new PDO($host, $username, $password);
$myclass = new myClass($pdo);
我遇到的问题是将其与CI集成。 CI自动加载它的数据库类,它处理所有数据库连接,并使用
进行访问 $this->db->
如果我能够使用CI数据库对象实例化myClass,那将非常简单,但它似乎包含的内容远远多于PDO实例。我试过了
$myClass = new myClass($this->db);
它根本不喜欢它。我意识到我可以重写myClass直接访问CI db对象(即不必传递新的连接),但我真的不想开始那个庞大的事业!
那么,有没有办法将CI db类用于此目的?如果我刚刚加载了CI数据库库,那么如果我刚刚创建了一个新的PDO实例会有什么不同吗?
答案 0 :(得分:0)
没有一种简单的方法可以从CI的数据库类中获取当前的PDO连接。但是,您不一定需要它。您可以创建自己的PDO连接并将其传递到自定义类。你将有两个与DB的实时连接,这是不理想的,但你可能会解决这个问题。