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.

上一篇:二叉树的插入、删除、查寻等接口实现和经典笔试题


下一篇:[Leetcode 701]二叉搜索树BST中插入元素