ホームページ  >  記事  >  バックエンド開発  >  PHP には ORM がありますか?

PHP には ORM がありますか?

(*-*)浩
(*-*)浩オリジナル
2019-10-18 15:05:452960ブラウズ

ORM は、オブジェクトとデータベース間のマッピングを記述するメタデータを使用して、プログラム内のオブジェクトをリレーショナル データベースに自動的に保存します。基本的に、データをある形式から別の形式に変換します。

PHP には ORM がありますか?

ORM はすべての SQL ステートメントの生成を提供しますが、プログラマーはデータベースの概念からは遠く離れています。概念的要件 (HQL など) から SQL ステートメントへのマッピングにはコストはかからず、1% のパフォーマンスの低下もありません。実際のパフォーマンスへの影響はマッピング プロセス中、より具体的にはオブジェクトのインスタンス化中に発生します。 (推奨される学習: PHP ビデオ チュートリアル )

現在、より有名な PHP オープン ソース ORM には次のものがあります:

Propel

Propel は、PHP5 に適した ORM マッピング (オブジェクト リレーショナル マッピング) フレームワークであり、Apache Torque に基づいたオブジェクト永続層のサポートを提供します。 XML 形式のスキーマ定義ファイルと対応する構成ファイルを通じて SQL とクラスを生成し、SQL の代わりにオブジェクトを使用してデータベース テーブルのレコードを読み書きできるようにします。 Propel は、データ モデルの SQL 定義ファイルと PHP クラスを作成するジェネレーターを提供します。開発者は生成されたクラスを簡単にカスタマイズすることもできます. XML、PHP クラス、および Phing ビルド ツールを通じて Propel を既存のアプリケーション開発フレームワークに統合することもできます. たとえば、PHP フレームワーク symfony の 1.2 より前のバージョンはデフォルトで使用されます. Propel の合理化されたバージョンデフォルトの ORM フレームワークとして機能します。

Doctrine

Doctrine は PHP ORM フレームワークです。バージョン 5.2.3 以上で実行する必要があります。強力なデータ抽象化レイヤーです。

その主な機能の 1 つは、オブジェクト指向メソッドを使用してデータベース クエリ シーリングを実装することです。その最下層では、Hibernate HQL と同様の DQL クエリ ステートメントを使用してデータベース クエリを実行するため、開発がより柔軟になります。大幅に削減されました。重複したコード。 Propel と比較した場合、Doctrine の利点は全文検索をサポートしていることです。Doctrine のドキュメントは常に Propel よりも包括的で豊富であり、コミュニティはより活発で、より自然で読みやすく、ネイティブ SQL に近いものです。 。性能もPropelより若干優れています。同様に、Doctrine を既存のアプリケーション フレームワークに簡単に統合できます。たとえば、PHP フレームワーク symfony 以降のバージョンでは、デフォルトの ORM フレームワークとして Doctrine が使用されており、Doctrine を Codeigniter と統合することもできます。

EZPDO

EZPDO は、非常に軽量な PHP ORM フレームワークです。 EZPDO の作者の当初の目的は、複雑な ORM の学習曲線を軽減し、ORM の操作効率と機能性のバランスを可能な限り取ることです。これは、私がこれまで使用した中で最も単純な ORM フレームワークであり、今後も統合したいと考えています。 CoolPHP SDK を使用すると、実行効率は非常に良く、機能は基本的にニーズを満たすことができますが、ESPDO の更新は比較的遅いです。

RedBean

RedBean は、MySQL、SQLite、PostgreSQL のサポートを提供する、使いやすい軽量の PHP ORM フレームワークです。 RedBean のアーキテクチャは非常に柔軟で、コアは非常にシンプルなので、開発者はプラグインを通じて簡単に機能を拡張できます。

以上がPHP には ORM がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。