如何在PHP类中定义私有变量并在其方法中使用它

时间:2017-06-27 19:17:22

标签: php mysql class

我已经用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
                }
  }
}

2 个答案:

答案 0 :(得分:0)

class SimpleClass
{

    private $db;

    function SimpleClass(){

        $this->db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
        $this->db->connect();
    }

    public function test()
    {


        $q="SELECT * FROM `tbl_test`;";
        $rows = $this->db->query($q);

        while ($record = $this->db->fetch_array($rows)) {
            //...........codes
        }
    }
}

答案 1 :(得分:0)

    private $data = array();
    private $db=0;

访问这些字段是这样的:

    $this->db = 5;

注意db前面缺少的$!

对于所有其他成员函数,请在变量前加上$ this->并删除变量的$符号!

您还应该使用相同的$ this-> FUNCTION_NAME模式调用成员函数。