到目前为止,我已经写了一个月的面向对象风格,现在我想知道哪种方法是使用 sql 查询的正确方法。因此,例如,我在类中有函数 getPlayerData。那么哪种方式更好 - 1)在课堂外执行一个mysql过程并将获取的数组提供给getPlayerData 2)在课堂上执行所有过程
如果你建议第二种情况,那么我应该用全局 $variable 启动每个函数,它启动了 mysqli 实例吗?
抱歉,如果我没有使用正确的术语,您可以随时纠正我。谢谢!
您可以执行以下操作,而不是给每个类函数一个全局变量:
class Test{
protected $mysqli = null;
function __construct($mysqli = null){
$this->mysqli = $mysqli;
}
public function setMySqli($mysqli){
$this->mysqli = $mysqli;
}
public function getSomething(){
$result = $this->mysqli->query("SELECT something FROM table");
//do something with result here
return $result;
}
}
允许您像这样使用您的对象:
$test = new Test($mysqli);
$result = $test->getSomething();
或者
$test = new Test();
$test->setMySqli($mysqli);
$result = $test->getSomething();