PHPixie ORMコンポーネントの長い間期待されていた3番目のバージョンはすでに完成しています。 現在は、フレームワークから完全に独立しており、単独で安全に使用できます。 この点で、他のコンポーネントの作業は進行中であり、ドキュメントが作成されていますが、開発者は
小さなチュートリアルをコンパイルして、ORMでの作業を開始できるようにしました。 以下に翻訳を提供し、私自身からいくつかのことを追加しますが、最初に、このバージョンがどれほど便利かを見てみましょう。
- ほとんどのORMはモデルクラスを使用します。これは、クエリの実行とデータベース内のレコードの表現の両方に使用されます。 たとえば、KohanaとLaravelはこれを行います。 PHPixieは、モデルをRepository、Entity、およびQueryに分割しました。それぞれが厳密に意図された目的を持っています。
- SQLデータベース(SQLite、PostgreSQL、MySQL)に加えて、Mongoも完全にサポートされています。 モデルの関係をSQLデータベースとMongoコレクションに保存されているモデルに関連付けることができます。
- 異なるデータベース間の接続(たとえば、MySQLの異なるデータベースのテーブル間)を維持するために、多くのORMは結合とサブクエリの代わりに個別のクエリを使用します。 PHPixieは、可能な限りサブクエリを使用します。
- Mongoの埋め込みエンティティサポート
- 単体テストは97% (今週の終わりまでに100%を計画)、および75%の機能テストをカバーしました 。
- クエリを効果的に使用すると、データベースへのクエリの数を減らすことができます。 たとえば、作成者のすべてのトピックをいくつかのタグに関連付ける必要があります。 ほとんどのORMでは、最初にトピックを見つけ、次にタグを見つけてから、それらをリンクする必要があります(3つのデータベースクエリ)。 PHPixieでは、1回のリクエストでこれを行うことができます。 ちなみに、この例は以下のチュートリアルにあります
興味を持っていただければ幸いです。今度は翻訳の上記リンクから例を見てみましょう。
<?php require_once('vendor/autoload.php'); $config = new \PHPixie\Config();
自分でこの例を試すのは非常に簡単です:
git clone https://github.com/phpixie/orm cd orm/examples
このORMは1年以上にわたって開発されたものであり、お客様のご質問やコメントに非常に興味を持っています。コメントをお待ちしております。