如何在类中正确使用sqlite
我想做一个类,在它的方法中,必须引用sqlite数据库,取决于参数。
如何正确组织这些连接?
例如:
class Text {
private $lang = 'EN';
private $id;
private $text;
public function __construct($lang) {
GLOBAL $db;
$this->lang = $lang;
$db = new SQLite3("./$this->lang/text.db");
}
public function dbSelectQuery($key) {
GLOBAL $db;
$stm = $db->query("SELECT * FROM TEXT WHERE KEY = '$key'");
$result = $stm->fetchArray(SQLITE3_ASSOC);
return $result['text'];
}
public function setText($key) {
$this->text = $this->dbSelectQuery($key);
}
}
可以使用字符串插值"./{$lang}/text.db"
按参数选择db
i也删除了所有的全局变量。您可以使用其他私有变量来处理它,而不需要GLOBAL
class Text {
private $lang = 'EN';
private $id;
private $text;
private $db;
public function __construct($lang) {
$this->lang = $lang;
$this->db = new SQLite3("./{$lang}/text.db");
}
public function dbSelectQuery($key) {
$stm = $this->db->query("SELECT * FROM TEXT WHERE KEY = '$key'");
$result = $stm->fetchArray(SQLITE3_ASSOC);
return $result['text'];
}
public function setText($key) {
$this->text = $this->dbSelectQuery($key);
}
}