ホームページ PHPフレームワーク ThinkPHP thinkphp D メソッドが返す内容

thinkphp D メソッドが返す内容

Mar 15, 2022 pm 06:51 PM
dメソッド thinkphp

thinkphp では、D メソッドはインスタンス化されたモデル オブジェクトを返すことができます。 D メソッドは、カスタム モデル クラスをインスタンス化するために使用されます。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化です。構文は、「D('[project://][group/]model','モデル層名」です。 ')"、戻り値はインスタンス化されたモデル オブジェクトです。

thinkphp D メソッドが返す内容

このチュートリアルの動作環境: Windows 7 システム、thinkphp v5.1 バージョン、Dell G3 コンピューター。

D メソッドは、最も一般的に使用されるメソッドです。これは、カスタム モデル クラスをインスタンス化するために使用されます。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化です。また、シングルトン モードを実装し、クロスプロジェクトをサポートします。

D('[项目://][分组/]模型','模型层名称')
ログイン後にコピー

D メソッドの戻り値は、インスタンス化されたモデル オブジェクトです。

D メソッドはモデル クラスを自動的に検出できます。カスタム モデル クラスが存在する場合はカスタム モデル クラスがインスタンス化され、存在しない場合はモデルの基本クラスがインスタンス化されます。渡されたモデルは繰り返しインスタンス化されません。

D メソッドの最も一般的な使用法は、現在のプロジェクトのカスタム モデルをインスタンス化することです。例:

// 实例化User模型
$User = D('User');
ログイン後にコピー

は、次の Lib/Model/UserModel.class.php ファイルをインポートします。現在のプロジェクトにアクセスし、UserModel クラスをインスタンス化します。そのため、実際のコードは次と同等になります。

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

D メソッドは、グループやプロジェクト全体でのモデルのインスタンス化をサポートできます。例:

//实例化Admin项目的User模型
D('Admin://User')
//实例化Admin分组的User模型
D('Admin/User')
ログイン後にコピー

バージョン 3.1 では、階層モデルのサポートが追加されたため、D メソッドは他のモデルをインスタンス化することもできます。たとえば、

// 实例化UserService类
$User = D('User','Service');
// 实例化UserLogic类
$User = D('User','Logic');
ログイン後にコピー
D('User','Service');
ログイン後にコピー

は Lib/Service/UserService.class.php をインポートしてインスタンス化します。

拡張知識: D と M の主な違いは、

M メソッドはモデル クラス ファイルを作成する必要がありません。M メソッドは、モデル クラスであるため、デフォルトでは自動検証は無効ですが、動的割り当てを通じて実現できます

D メソッドはモデル クラスを作成する必要があります。

次の 2 つのメソッドを使用して、データ テーブルのマッピング オブジェクトを作成できます。

最初のメソッド:$Test = D('Test')

2 番目のタイプ: $Test = new Model('Test')

どちらもデータに対して選択、挿入、削除、更新操作を実行できますが、

データ検証には大きな違いがあります。

最初の方法でモデルをインスタンス化するとデータチェック機能が付きます。タイトルが未入力の場合は「タイトルを入力してください」と表示されます。 (これは自動検証機能を提供します。もちろん、検証条件は対応するモデルで定義する必要があります);

2 番目のタイプを使用する場合、このデータ検証機能はありません。手動で確認します。

概要は次のとおりです:

  • D 関数は、現在のプロジェクトの Lib/Model の下にモジュールをインスタンス化します。

  • モジュールが存在しない場合は、インスタンス化したModelのオブジェクトを直接返します(意味はM()関数と同じです)。

  • そして、M はモデルをインスタンス化するオブジェクトのみを返します。その $name パラメータは、データベースに対する操作を処理するためのデータベースのテーブル名として使用されます。

平たく言えば:

  • D は、モデル ファイルに基づいてモデルをインスタンス化することです。

  • M は、対応する Model ファイルが存在しない場合でも、Model メソッド (ThinkPHP 基本クラス) を直接インスタンス化することにより、Model オブジェクトを動的にインスタンス化します。

もっと簡単に言うと、

  • M インスタンス化パラメータはデータベースのテーブル名です。

  • D は、Model フォルダーの下に作成したモデル ファイルをインスタンス化します。

  • D は、モデルを定義しない場合、システムが自動的にモデルを定義して、簡単なデータの入力または出力を実行できることを意味します。

  • 各アクション ファイルはモデル ファイルに対応する必要があります。モデルを定義する場合は、

例: $Form = D ("User")$Form = new UserModel(); (User はモデル ファイル名を指します) に変更できます。

[関連チュートリアルの推奨事項: thinkphp フレームワーク]

以上がthinkphp D メソッドが返す内容の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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 にアクセスして実行します。

開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 Nov 22, 2023 pm 12:01 PM

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件が​​ますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

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 にアクセスします。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

開発に関する提案: API 開発に ThinkPHP フレームワークを使用する方法 開発に関する提案: API 開発に ThinkPHP フレームワークを使用する方法 Nov 22, 2023 pm 05:18 PM

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関数の呼び出しなどを実現し、開発者に比較的簡単かつ迅速な開発手法を提供します。優れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。

See all articles