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
関連記事
- Composerコマンドでウクライナへのメッセージが表示されたことがあります
- Composerをインストールする方法と使い方
- CakePHP、Symfony、Zend Frameworkの比較
- Doctrineでモデルを作成する
- OpenPNE3はsymfonyベース
- PHPフレームワークの一覧
- ディレクトリ構成
- Symfony PropelでのMySQLの設定方法
- Symfonyのインストール
- firesymfony Symfonyデバック用Firebug拡張[Firefox]
- Symfony(シンフォニー)
- MySQL MariaDB
- OpenPNE3
- MySQLの処理を停止させる方法
- MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較
- EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
- Windows MySQLインストール後の設定
- OpenPNE3のサーバ移行の方法
- Zend_DBのSELECTメソッドのまとめ
- PDO_MYSQLをインストールする方法
- 別テーブルでSELECT JOINしながらUPDATEする方法(SELECTした結果でUPDATEする)
- インストール直後に設定されているユーザ情報を変更するSQL文
- LIMITで件数制限をしつつ、全件数を取得する方法 SQL_CALC_FOUND_ROWS FOUND_ROWS()
- MySQL Query Browser 本家GUIツール
- ログインできなくなるバグと修正方法
- MySQL関数のまとめ
- リンクメニューを管理している場所
- 4.0以前と4.1以降のパスワード方式の違い
- EC-CUBEのサーバ移行の方法
- SQL文で特定の曜日のみ抽出するには
スポンサーリンク