ホームページ >PHPフレームワーク >ThinkPHP >thinkphpのdメソッドの使い方
thinkphp d メソッドは、カスタム モデル クラスをインスタンス化するために使用されます。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化です。その使用構文は、"D('[project://][group/ ] model ','モデル層名')"、その戻り値はインスタンス化されたモデル オブジェクトです。
この記事の動作環境: 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 サイトの他の関連記事を参照してください。