KohanaでORMライブラリを利用する
Kohana には データベースライブラリ ORM (Object Relational Mapping) があります。これは非常に強力で、コードを書く手間が一段と省けます。
ORM というと、ER図やデータベースの正規化などが関わってきたり、難しそうなのでなかなか利用するに至らなかったのですが、使ってみるとまさに目からウロコ・・・。コード量を格段に省略できるようになりました。
ORM モジュールとは・・・(本家ドキュメント参照)
ORM はまるで PHP オブジェクトであるかのように、データベースのデータ操作とコントロールを行います。 ORM のリレーショナルシップを定義しておけば、データベースからデータを取り出してくれたり、データを好きなように操作したり、その結果を保存することを SQL 文を書くことなしに可能にしてくれます。
設定より規約 (convention over configuration) に則ってモデル間の関係を記述すれば、追加・読み・更新・削除 (create, read, update and delete) の反復するようなクエリーを減らすか、または完全に省いてくれます。
ORM ライブラリによってモデル間の関係は自動的に扱われ、そのデータは一般的なオブジェクトとしてアクセスすることができます。
実際に利用するに当たって一番厄介なのが、モデル間のリレーションシップを「設定より規約」に則る必要があること。既存のデータベースで利用する際に、ここが最大の問題ですね。しかし Kohana では既存の規則を設定により変更できる柔軟さを持っています。
これから自分の理解度を確認することも兼ねて、Kohana での ORM のメモをしていこうと思います。