以下に指定されたいくつかの基準を満たすPHP用のクエリ構築エンジン( ORMではありません!)を探しています。残念ながら、Doctrine、Propel、Adodb、Zend_Dbなどを調べたところ、プロファイルに本当に適合するものは見つかりませんでした。抽象的すぎる(ORMレベルの抽象化は必要ありません)か、十分な機能をサポートしていません。 。必要なのは、SQLクエリをプログラムで作成できるライブラリです。実行する必要はありませんが、それでも問題ありません。
私は本当に車輪の再発明を避けたいので、プロファイルに合うものを知っているなら、それを前に持ってきてください。上記の名前のいずれかが当てはまると思われる場合(そして私はそれを見逃しました)、私にも教えてください。
持っている必要があります(ライブラリにない場合は、私には役立ちません):
- PHP 5.2をサポートします(残念ながら、名前空間ライブラリは現在使用できません)
- select式、order-by、limit、group-by、have、unions、outerjoinなどを含むプログラムによるクエリ生成をサポートします。
- Mysql、Oracle oci8、MSSQL、DB2、Postrgesをサポート
- 名前付きパラメーター化クエリとプリペアドステートメントの構築をサポート
- 任意の時点で動的に条件/結合を追加することをサポート
- 日時などのデータ型のサポート。たとえば、受信/送信データを適切にフォーマットしたり、必要に応じて適切な比較関数を使用したりします(もちろん適切な引用符も使用します)。コード内のすべてのフィールドのタイプがわかっているので、ライブラリは各フィールドが何であるかを示すことができるはずです。
- スタンドアロン(他のサポートクラスがなくても簡単に使用できます)
- 拡張が簡単で、ライセンスによりBSDのような条件で拡張できます
- クリーンなPHP5コード(PHP4のobject-by-refcruftなどはありません)
NICE TO HAVE(「必須」の上に実装することもできますが、すでに実行されている場合はもっと幸せになります)
- パラメータ化されたクエリのインスタンス化をサポート(完全および部分的)-つまり、クエリサポートを構築した後、パラメータの一部を提供し、それらのパラメータを置き換えて新しいクエリを生成します
- 2つのクエリのマージをサポートします(つまり、あるクエリから別のクエリに条件とテーブルを追加します)
- クエリコメントのサポート(パラメータ化を含む)
ボーナス(これは本当に私たちを幸せにするでしょうが、私たちは今のところそれなしで生きることができます)
- シリアル化をサポート
- キャッシングをサポート
それで、誰かがそのような図書館を知っていますか?