SOY2HTMLでセキュアなフォームを設置する - HTMLForm編でPOST送信周りの実装の紹介をしました。

前回の話ではまだ各フォームの設定までは触れていないので、

フォームを生成するクラスを紹介したいところだけれども、

その前に各種プラグインで利用している設定内容の保存の方法を見ておくことにします。


各種プラグインの設定内容の保存では、

SOYShop_DataSetsクラスのputメソッドを利用しています。

/soyshop/webapp/src/domain/config/SOYShop_DataSetsDAO.class.php


使い方は

$key = "dummy_plugin.config";
$config = "hoge";	//設定内容 配列型でも良い
SOYShop_DataSets::put($key, $config);

でキーバリューストアのようにデータを保存することが出来ます。


SOYShop_DataSetsクラスに関するテーブルのスキーマは

CREATE TABLE soyshop_data_sets(
	id INTEGER PRIMARY KEY AUTO_INCREMENT,
	class_name VARCHAR(255) UNIQUE,
	object_data TEXT
) ENGINE=InnoDB;

になっており、


putの第二引数で値を配列型で渡した場合は、

配列をシリアライズして文字列にしてから保存します。




一方、データをストアから取り出す場合は、


$key = "dummy_plugin.config";
$config = SOYShop_DataSets::get($key, "hoge");

getメソッドにキーを指定することで取り出せます。

第二引数の値は指定したキーに対応する値がなかった場合に変数に挿入する値の指定で、


$key = "dummy_plugin.config";
$config = SOYShop_DataSets::get($key, array("hoge" => "huga", "usa" => "kuma"));

のように配列型の値を指定することも可能です。


今回の内容を踏まえ、次回はプラグインの設定画面を設けてみます。