ホームページ  >  記事  >  バックエンド開発  >  phpのORMとはどういう意味ですか?

phpのORMとはどういう意味ですか?

青灯夜游
青灯夜游オリジナル
2022-03-10 15:15:094458ブラウズ

php では、ORM の正式名称は「Object-Relationl Mapping」で、「オブジェクトとリレーショナルのマッピング」を意味します。簡単に言うと、オブジェクト モデルとリレーショナル モデルの間のマッピングであり、主な目的です。 ORM はオブジェクト モデルを変換します。 表現されたオブジェクトは、SQL ベースのリレーショナル モデルのデータベース構造にマッピングされます。

phpのORMとはどういう意味ですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

内容それとも意味ですか?

  • #O = オブジェクト

  • ##RM->リレーショナル マッピング
  • これはオブジェクト-リレーショナル マッピングです。簡単に言うと、オブジェクト モデルとリレーショナル モデルの間のマッピングです。

ORM が表す概念:

    データベース テーブル (テーブル) --> クラス (クラス)
  • レコード(レコード、行データ) –> オブジェクト (オブジェクト)
  • フィールド (フィールド) –> オブジェクトの属性 (属性)
  • そのリレーショナルデータベースとオブジェクトとの間のマッピングを行う機能です。これにより、データベースを具体的に操作する際に、複雑な SQL ステートメントを扱う必要がなくなり、通常のオブジェクト操作と同じように操作するだけで済みます。 。

例: 記事を取得するには、従来の方法では、まず SQL を実行してデータ

select * from post where id = 1

を取得し、次に

echo $post['title']; echo $post['content'];

を使用してタイトルとコンテンツを出力します。上記のコードとの遭遇 オブジェクト指向強迫性障害を持つ人々は、死ぬまで苦しみます。

そこで彼らはこのことを思いつきました。ORM で記事を取得すると次のようになります:

$post = postTable::getInstance()->find(1);#会再内部执行select * from post where id = 1

その後の出力:

echo $post->getTitle();
echo $post->getContent();

お母さんはもう私の強迫観念について心配する必要はありません-強迫性障害 ^_^

高度なアプリケーション、記事とカテゴリは 1 対多の関係、記事とタグは多対多の関係です

$cate = $post->getCategory(); //获取文章分类
echo $cate->getName(); //获取分类名 $tags = $post->getTags(); //获取一个文章的所有标签

単一の SQL を記述するだけですか? すべてのデータが必要ですか? ORM を使用すると、SQL をまったく書かずにアプリケーションを実装できます。ORM がこれらすべてを行ってくれます。

さらに、ORM は基礎となるデータベース層を分離することもできるため、mysql を使用しているか他のリレーショナル データベースを使用しているかを気にする必要はありません。


私が知っている ORM: doctrine と prop

ORM に加えて、mongodb などの文書データベースを使用するときに使用される ODM、つまりオブジェクト ドキュメント マッピングもあります

推奨学習: 「

PHP ビデオ チュートリアル

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

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