php – 在另一个类中使用包含的类
作者:互联网
我正在尝试使用数据库类(ADOdb for PHP),但我不知道如何在另一个类中使用它.
例:
<?php
include_once("adodb.inc.php");
$conn = NewADOConnection('mysql');
class Contacts {
public function getData(){
$conn->Connect(...);
//do something
}
}
?>
我认为问题在于我无法调用$conn,因为它在类外定义.
注意:未定义的变量:conn
致命错误:在非对象上调用成员函数Connect()
也许我做错了,但我真的不知道如何解决这个问题.
有人可以帮帮我吗?非常感谢!
解决方法:
为什么不简单地这样做?!
<?php
include_once("adodb.inc.php");
$conn = NewADOConnection('mysql');
$conn->Connect(...);
class Contacts {
protected $_connection;
public function __construct($conn)
{
$this->_connection = $conn;
}
public function getData(){
//do something
}
}
$contacts = new Contacts($conn);
$foobar = new FooBar($conn);
?>
在类外部建立连接,然后传入已经可用的对象是有意义的.当然,在需要它的所有类之间共享相同的连接对象.
P.S我真的会建议放弃ADODB并开始学习PDO.
标签:php,oop,adodb 来源: https://codeday.me/bug/20190716/1482995.html