パフォーマンスの点で、PHP に最適な ORM はどれですか? Codeigniter フレームワークでも使用したいと思います。私は今 php-activerecord を試していますが、動作は悪くありません。Doctrine2 や DataMapper などを調べましたが、大きなプロジェクトを構築するまでパフォーマンスについては何も言えません (その時点で考えを変えるには遅すぎます)。
何かご意見は?
パフォーマンスの点で、PHP に最適な ORM はどれですか? Codeigniter フレームワークでも使用したいと思います。私は今 php-activerecord を試していますが、動作は悪くありません。Doctrine2 や DataMapper などを調べましたが、大きなプロジェクトを構築するまでパフォーマンスについては何も言えません (その時点で考えを変えるには遅すぎます)。
何かご意見は?
目標がパフォーマンスである場合、ORMの使用は最初から間違った選択です。
ORMは、問題の原因であるオブジェクトのように動作するようにリレーショナル構造を強制することに焦点を当てています(パフォーマンスの低下とAPIの制限)。これが、パフォーマンスがORMに焦点を当てていない理由です。ORMが本当に得意なのはラピッドプロトタイピングですが、大規模なプロジェクトで使用すると、通常は技術的負債が発生します。
また、.. CodeIgniterの使用を真剣に考えている場合は、ソースを読んで、これがプロジェクトのベースにするコードの品質であるかどうかを判断してください。
PSここにあなたが少し炎症を起こすかもしれない2つの記事がありますが、関連する点があります:
これは GAS ORM と PHP Active Record へのリンクです (一番下までスクロール)
結果?Gas ORM は PHP Active Record よりもはるかに効率的です
新しいプロジェクトを開始すると、データベースにオブジェクトをすばやく出し入れできます。方法を気にする必要はありません。また、ローカル開発マシンの SQLite からテスト サーバーまたはステージング サーバーの MySQL に DBMS を非常に高速に切り替えることもできます。パフォーマンスの部分が始まると、アプリケーションはすでに少し成熟しており、モデルはある程度修正され、プログラム ロジックが実行されています。ORM の代わりに SQL を使用するようにモデルを拡張すると、プロジェクトの構造が (それほど速く) 変更されなくなるため、より便利になります。
私は教義を提案します。
CI への統合は、Doctrine を使えば簡単です (インターネット上には多くの投稿があり、SO にもいくつか投稿されています)。
どちらを選択しても、ORM は非常に軽量なフレームワークに (CI のベース フットプリントと比較して) 膨大なオーバーヘッドを追加することに注意してください。そのため、強力なデータベース機能とさらなる抽象化のために軽量性を犠牲にしています。
私が見つけたこのリンクをチェックして ください