symfonyのORマッパ(Propel、Doctrine)

symfonyではデータベースを扱うための標準のO/Rマッパ(object-relational mapper[ORM])としてPropelを使用しています。
Propelでは、SQL文をほとんど記述せず、それに代わるオブジェクトを使用してDBにアクセスできるようになっています。
これによりMySQLでもPostgreSQLでもOracleでも対応しているPropelさえあればデータベースサーバの種類によらず、同じコードを使用することができます。

symfonyでは、sfDoctrinePluginプラグインを追加することでPropelの代わりにDoctrineを使用することができます。

Doctrineでは、SQLに近いDQL (Doctrine Query Language)というObject Query Languageを使用します。
DQLもオブジェクトで記述しますが、SQLを基本としたメソッドとなっています。

PropelはJavaのApache Torqueを基にしていて、DoctrineはJavaのHibernateを参考にしています。Doctrine Query Language(DQL)は、HibernateではHibernate Query Language(HQL)に該当します。

[参考記事] Doctrine
[参考記事] OpenPNE3はDoctrine

Propel
Doctrine
sfDoctrinePlugin
Torque
Hibernate

関連記事

スポンサーリンク

list-style-type マーカー文字の種類を指定する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る