ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp には orm がありますか?

thinkphp には orm がありますか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-26 09:46:123568ブラウズ

thinkphp には orm がありますか?

THinkPHP は、中国で比較的代表的な PHP 開発フレームワークであり、MVC 開発モデルをサポートしています。 ThinkPHP の ORM (オブジェクト リレーション マッピング) は、開発者がデータベース開発を使用するためのストレージ アクセス レイヤーです。フレームワークの設計図は次のとおりです:

thinkphp には orm がありますか?

thinkPHP ORM フレームワークは、アクティブ レコード モードを採用しています ( (AR と呼ばれます)を設計して実装します。

関連する推奨事項: 「ThinkPHP チュートリアル

アクティブ レコード モードとは何ですか?

は、AR クラスを使用してデータベース内のテーブルを関連付けます。各 AR オブジェクトはテーブル内のデータの行に対応し、オブジェクトの属性はデータ行の対応する列にマップされます。

たとえば、Customer AR クラスはデータベース内の customer テーブルに関連付けられており、AR クラスの name 属性は customer テーブル内の name という名前のフィールドを表します。

thinkPHP では、すべての AR クラスの基本クラスは Model クラスです。Model クラスは、名前によってデータベース内のテーブルに関連付けられます。Model クラスのコンストラクターは次のとおりです:

public function __construct($name='',$tablePrefix='',$connection='')
@param string  $name 模型名称
* @param string $tablePrefix 表前缀
* @param mixed  $connection 数据库连接信息

Data Model クラスの CURD (作成、更新、取得、削除) 操作は、データベース抽象クラス Driver の具体的な実装を通じて実装されるため、構成を通じて MySQL または Oracle を便利に使用できます。

この設計実装を通じて、次の利点が得られます:

1. 特定のデータベースが MySQL、Oracle、または MySQL から Oracle に切り替える場合でも、ドライバー実装の上のコードは、何らかの影響を受けます;

2. データベース テーブルは AR クラスにマップされ、データベースの CURD 操作は AR クラスによって解釈および実行されます。これはオブジェクト指向に準拠しています。設計アイデア、特定の SQL ステートメントの記述から分離され、コードがより簡潔になり、エラーが発生しにくくなります。

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

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