モデル
モデルとは
waggo でいうモデルとは、コントローラー及びビューから接続されているデータベース内テーブルに対し、ユーザーからの動作を透過的に、検索・更新動作を行うためにサポートする機能をいいます。
一般的にいう O/Rマッパーに近い動作をします。
ただし、高度な抽象化は、逆に開発効率を落とすと考えているため、RDB寄りの機能として実装しています。基本的には、SQL文の生成・実行を、省力化する機構として考えてください。
通常、O/Rマッパーを利用するには、テーブル(データ)構造を、予めなんらかの設定ファイル(または派生クラスに実装するなど)に設定する必要があります。
waggo の場合はモデルインスタンスを生成した時点で、モデルインスタンスから接続されたテーブルスキーマを動的に解析し、検索・更新時にSQLインジェクション等が発生しないように、モデルインスタンスの中身を調整します。
(そのため、RDB上にテーブルを作成した時点で、すぐにインスタンスを作成し、利用することができるようになっています。)