symfonyでプログラミングを始める場合、今までSQLを記述してきた人にとってはPropelが障害になることが多いようです。 今回はsymfonyで使用可能なO/Rマッパ Doctrineを紹介したいと思います。 symfonyで採用されているデフォルトのO/Rマッパ PropelはSQLをほとんど書かずにオブジェクト操作でDBにアクセスする設計になっています。このオブジェクト操作でDBにアクセスする方法は、慣れれば別にそれほど悪くないと思います。 でも、普段SQLに慣れている人にとっては、SQLを考える、それに対応するクライテリアを考える、実装、というようにSQLからクライテリアが必要になってしまいます。そのため、直感的な操作が中々難しくなるかもしれません。 そこで、今回紹介するDoctrineの登場です。DoctrineはよりSQLに近い、DQLというものを使用してDBを操作します。
