ホームページ バックエンド開発 PHPチュートリアル ThinkPHP 機能の詳細説明: M ステップ

ThinkPHP 機能の詳細説明: M ステップ

Jun 13, 2016 pm 12:24 PM
nbsp thinkphp user

ThinkPHP 関数の詳細な説明: M メソッド

M メソッドは、基本的なモデル クラスをインスタンス化するために使用されます。D メソッドとの違いは次のとおりです。
1. モデル クラスをカスタマイズする必要がなく、IO 負荷が軽減されます。
2. インスタンス化後に呼び出せるのは、基本モデル クラスのメソッドのみです。
3. インスタンス化中にテーブルのプレフィックス、データベース、およびデータベース接続情報を指定できます。
D メソッドの能力は、カプセル化するカスタム モデル クラスの強力さに反映されます。ただし、ThinkPHP フレームワークの新しいバージョンの基本モデル クラスがますます強力になるにつれて、M メソッドもますます強力になっています。 D メソッドよりも実用的です。
M メソッド呼び出し形式:
M('[基本モデル名:]モデル名','データテーブルプレフィックス','データベース接続情報')
見てみましょう
1. 基本モデル (Model) クラスをインスタンス化します。

モデルが定義されていない場合、次のメソッドを使用してモデルをインスタンス化できます。操作するクラス:

//实例化User模型$User = M('User');//执行其他的数据操作$User->select();
ログイン後にコピー

このメソッドは、モデル クラスを定義する必要がなく、プロジェクト間の呼び出しをサポートするため、最も単純かつ効率的です。また、カスタム モデル クラスがないため、関連するビジネス ロジックを作成できず、基本的な CURD 操作のみを完了できるという欠点もあります。

$User = M('User');
ログイン後にコピー

は実際には以下と同等です:

$User = new Model('User');
ログイン後にコピー

は think_user テーブルの操作を意味します。 M メソッドも D メソッドと同様にシングルトン関数を持ち、複数回呼び出されても繰り返しインスタンス化されません。 M メソッドのモデル名パラメーターは、データ テーブルに変換されるときに自動的に小文字に変換されます。これは、ThinkPHP のデータ テーブルの命名仕様がすべて小文字形式であることを意味します。


2. 他のパブリック モデル クラスをインスタンス化する

最初のインスタンス化方法は、モデル クラスの定義がないためです。追加のロジック メソッドをカプセル化するのは非常に困難ですが、ほとんどの場合、共通のロジックを拡張するだけで済むため、次の方法を試すことができます。

$User = M('CommonModel:User');
ログイン後にコピー

実際の使用法は次と同じです。

$User = new CommonModel('User');
ログイン後にコピー

システムのモデル クラスは自動的にロードできるため、インスタンス化の前にクラス ライブラリを手動でインポートする必要はありません。モデル クラス CommonModel は Model を継承する必要があります。 CommonModel クラスでいくつかの共通の論理メソッドを定義できるため、プロジェクトに既に 100 を超えるデータ テーブルがある場合、そのほとんどは基本的なメソッドです。CURD 操作では、一部のモデルのみがこのメソッドを備えています。カプセル化する必要がある複雑なビジネス ロジックがあるため、最初の方法と 2 番目の方法を組み合わせるのが良い選択です。


3. 受信テーブルのプレフィックス、データベース、その他の情報

M メソッドには 3 つのパラメーターがあり、最初のパラメーターはモデルです。名前 (基本的なモデル クラスとデータベースを含めることができます)、2 番目のパラメーターはデータ テーブルのプレフィックスを設定するために使用されます (現在のプロジェクト構成のテーブル プレフィックスを取得するには空白のままにします)、3 番目のパラメーターは現在のデータ テーブルのプレフィックスを設定するために使用されます。使用されるデータベース接続情報 (空白のままにします) 空の場合は、現在のプロジェクト構成のデータベース接続情報を取得します)。例:

$User = M('db2.User','think_');
ログイン後にコピー

は、Model モデル クラスをインスタンス化し、db2 で think_user テーブルを操作することを意味します。データベース。
2 番目のパラメータが空白のままか渡されない場合は、現在のプロジェクト構成でデータ テーブル プレフィックスを使用することを意味します。操作されているデータ テーブルにテーブル プレフィックスがない場合は、

$User = M('db1.User',null);
ログイン後にコピー
を使用できます。

はインスタンス化 Model モデル クラスを示し、db1 データベース内のユーザー テーブルを操作します。
操作するデータベースに別のユーザー アカウントが必要な場合は、データベースの接続情報を渡すことができます。たとえば、

$User = M('User','think_','mysql://user_a:[email protected]:3306/thinkphp');
ログイン後にコピー

は Model を使用して基本モデル クラスを表し、user_a アカウントを使用します。 think_user テーブルを操作するには データベースに接続するには、操作データベースは thinkphp です。
3 番目の接続情報パラメーターは、DSN 構成またはアレイ構成を使用でき、構成パラメーターもサポートできます。
たとえば、プロジェクト構成ファイルで

'DB_CONFIG'=>'mysql://user_a:[email protected]:3306/thinkphp';
ログイン後にコピー

を構成すると、以下を使用できます。

$User = M('User','think_','DB_CONFIG');
ログイン後にコピー

基本モデルのクラスとデータベースは、一緒に使用できます。例:

$User = M('CommonModel:db2.User','think_');
ログイン後にコピー

パブリック モデル クラスを使用して階層モデルをインスタンス化したい場合は、

M('UserLogic:User');
ログイン後にコピー

を使用して UserLogic をインスタンス化できます。これの意味は、

D('User','Logic');
ログイン後にコピー

を使用して同じ機能を実現できるため、大したことはありません。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iOS 17 では、Apple はモバイル オペレーティング システムにいくつかの新しいプライバシーおよびセキュリティ機能を導入しました。その 1 つは、Safari のプライベート ブラウジング タブに対して 2 段階認証を要求する機能です。その仕組みとオフにする方法は次のとおりです。 iOS 17 または iPadOS 17 を実行している iPhone または iPad では、Safari でプライベート ブラウズ タブを開いていて、再度アクセスするためにセッションまたはアプリを終了する場合、Apple のブラウザでは Face ID/Touch ID 認証またはパスコードが必要になります。言い換えれば、ロックが解除されている iPhone または iPad を誰かが手に入れても、パスコードを知らなければプライバシーを閲覧することはできません。

Win10/11 デジタル アクティベーション スクリプト MAS バージョン 2.2 がデジタル アクティベーションを再サポート Win10/11 デジタル アクティベーション スクリプト MAS バージョン 2.2 がデジタル アクティベーションを再サポート Oct 16, 2023 am 08:13 AM

有名なアクティベーション スクリプト MAS2.2 バージョンでは、デジタル アクティベーションが再びサポートされています。このメソッドは @asdcorp とそのチームが考案したもので、MAS 作成者はそれを HWID2 と呼んでいます。 https://github.com/massgravel/Microsoft-Activation-Scripts から Gatherosstate.exe (オリジナルではなく、変更されたもの) をダウンロードし、パラメータを指定して実行し、AuthenticTicket.xml を生成します。まず元のメソッド: Gatherosstate.exePfn=xxxxxxx;DownlevelOriginalState=1 を確認し、次に最新のメソッド: Gatheros と比較します。

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

See all articles