【发布时间】:2017-06-27 19:17:22
【问题描述】:
我在 PHP 中编写了一个类,以便访问 Mysql 并对其进行一些操作。但是,我不知道如何为数据库连接定义一个私有变量,这样我就不需要在我的每个方法中定义它现在,我在每个方法中定义了连接,并且知道这不是正确的方法。请查看我的代码并告诉我如何优化它。请注意构造方法。
class SimpleClass
{
var $data = array();
var $db=0;
function SimpleClass(){
$this->$db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
$this->$db->connect();
}
public function test()
{
$db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
$db->connect();
$q="SELECT * FROM `tbl_test`;";
$rows = $db->query($q);
while ($record = $db->fetch_array($rows)) {
//...........codes
}
}
}
【问题讨论】:
-
你快到了。你只需要注意不要混淆
$this->db(你想要的对象属性)和$db(对象方法的局部范围内的一些变量,在这里没有帮助)。 -
除此之外:您似乎正在遵循一个真的过时的教程...在 php 类中 cunstructor 方法被命名为
__construct(),类名没有被使用过更多的年龄...... -
还要注意应该是
$this->db,而不是$this->$db... -
您正在阅读一个非常古老的教程 (PHP4)。