そしてシリアライズってデータ構造丸出しで、いわゆる「カプセル化」ってことは優先度が低い。
そんなわけでシリアライザーとしてお手軽につかえて、拡張しようと思えば拡張できるというORマッパーを自作してみた。オブジェクトとRDBというよりも配列とDBという組み合わせ。
これで何が嬉しいのかっていうと、phpmyadminみたいに、プログラミングなしで大体のことができるってこと。もちろんmysql側での定義がいっぱい居るのだけれど、データ管理だけに集中できる。
さらに社内用途であれば、セキュリティ的にはあんまり気にしないでもいい。
社内用途や管理画面では、ここまで動的管理画面にできる。
$db = new BenriDB($_GET["table"])
$db->insert($_POST);
今さら、こんなオールドタイプのORマッパーというのも時代遅れな気もするが、XMLが出てきたあとにやっぱりJSONで収まったように、オブジェクトじゃなくて配列なんじゃないの?って気がする。
ちなみにphpmyadmin は、infomation_schema ってテーブルを参照して、テーブル毎のフィールドの型を参照している。スキーマはMySQLが教えてくれるので、ソース側ではスキーマ定義をする必要はない。どのフィールドがプライマリーキーかもmysqlが教えてくれる。いちいちmysqlを参照しているのが気になるものの、全く変化のないテーブルをどーんと参照するだけなので、キャッシュに乗るんじゃないのかな。たぶん。
0 件のコメント:
コメントを投稿