【发布时间】:2017-06-24 19:00:54
【问题描述】:
我有一些设置存储在 mysql 数据库表“设置”中,用于 php Web 应用程序。该表有两列,只是“option_name”和“option_value”。我已经建立了一个类来检索或更改这些设置(通常通过复选框进行更改),我想知道它是否可以被认为是一个好方法:
class Settings {
public function __construct(PDO $db_connection) {
$this->db_connection = $db_connection;
}
public function getValue($setting_name) {
$sql = "SELECT option_value FROM settings WHERE option_name = ?";
$stmt = $this->db_connection->prepare($sql);
$stmt->execute([$setting_name]);
return $stmt->fetchColumn();
}
public function setValue($setting_name, $value) {
// Some code here to sanitize value
if (!is_bool($value)) {
throw new InvalidArgumentException("value must be boolean");
}
$sql = "UPDATE settings SET option_value = ? WHERE option_name = ?";
$stmt = $this->db_connection->prepare($sql);
return $stmt->execute([$value, $option_name)];
}
}
这样每次使用方法时,都会向数据库发送查询。此外,该类只是查询的“包装器”。这被认为是管理设置的好方法吗?我很想听听一些建议
【问题讨论】:
-
没有更多信息很难说。有多少种设置?我可能会一次加载它们。
标签: php database class settings