PHP Webアプリケーション用のmysqlデータベーステーブル "settings"にいくつかの設定が保存されています。この表には、単に「option_name」と「option_value」という2つの列があります。私は(通常のチェックボックスで変更されている)を取得または、これらの設定を変更するには、クラスを構築してきましたし、それは良いアプローチと考えられる場合、私は思っていた:データベースに保存されているPHPアプリケーション設定を管理する
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)];
}
}
この方法でメソッドを使用するたびに、クエリデータベースに送信されます。また、クラスはクエリの単なるラッパーです。これは設定を管理する良い方法と考えられますか?
詳細についてはわかりません。いくつの設定がありますか?私はそれらを一度にロードするでしょう。 – jeroen