ホームページ  >  記事  >  PHPフレームワーク  >  thinkphpのdメソッドの使い方

thinkphpのdメソッドの使い方

藏色散人
藏色散人オリジナル
2021-10-29 10:36:492187ブラウズ

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

thinkphpのdメソッドの使い方

この記事の動作環境: Windows7 システム、thinkphp v5.1 バージョン、DELL G3 コンピューター

thinkphp の使用方法d メソッド?

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

D メソッド

D メソッドは、より一般的に使用されるメソッドです。インスタンス化に使用されるカスタム モデル クラスは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化であり、プロジェクト間およびグループ呼び出しをサポートするシングルトン モードを実装します。呼び出し形式は次​​のとおりです:

D('[项目://][分组/]模型','模型层名称')
の戻り値

メソッドはインスタンス化モデル オブジェクトです。

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

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

// 实例化User模型
$User = D('User');

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

import('@.Model.UserModel');
$User = new UserModel();

ただし、D メソッドを使用する場合、UserModel クラスが存在しない場合は、自動的に

が呼び出されます。
new Model('User');

また、2 回目の呼び出し時に再度インスタンス化する必要がないため、オブジェクトのインスタンス化のオーバーヘッドをある程度削減できます。

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

//实例化Admin项目的User模型
D('Admin://User')
//实例化Admin分组的User模型
D('Admin/User')

注: プロジェクト間呼び出しモデルを実装するには、2 つのプロジェクトのディレクトリ構造が次のとおりであることを確認する必要があります。平行。

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

// 实例化UserService类
$User = D('User','Service');
// 实例化UserLogic类
$User = D('User','Logic');
D('User','Service');

は Lib/Service/UserService.class.php をインポートします。およびインスタンス化され、次のコードと同等になります:

import('@.Service.UserService');
$User = new UserSerivce();

推奨: "最新の 10 thinkphp ビデオ チュートリアル "

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

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