如何避免必须将连接变量作为函数参数传递给类?

时间:2018-10-04 19:56:26

标签: php oop constructor scope

我是OOPS PHP的新手,我似乎在基本方面遇到了麻烦。

我试图在构造函数中设置$ connection变量,然后将该变量在整个类中都可用,而不必将其作为参数显式传递给每个函数。

如果我将$ connection参数作为参数传递给后面的函数,该脚本将按预期工作,但是似乎$ connection变量并不是整个类都可用的,因为我认为应该如此。如果不通过,则会收到“未定义的变量:连接”错误。

任何帮助将不胜感激。谢谢!

const mapCardinality = c => {
   const pos = ["1st", "2nd", "third", "fourth",  "fifth"].indexOf(c);
   return pos === -1 ? parseInt(c, 10) - 1 : pos;
};

1 个答案:

答案 0 :(得分:0)

您应该在各处使用$this->connection来引用您在构造函数中分配的对象属性。

class ClsVREQDataAccess
{

protected $connection;

public function __construct() {

    $this->connection = $this->ConnectToLNSODB();

    $this->InitializeNewVREQ();
}


public function InitializeNewVREQ() {

    ... Do stuff to set up query ...

            $rst = $this->connection->prepare($strSQL);
            $rst->execute($params);

    ... Do other stuff ...

}