thinkphp big d メソッドは、カスタム モデル クラスのインスタンス化に使用されます。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化です。また、シングルトン モードを実装し、プロジェクト間の呼び出しとグループ呼び出しをサポートします。使用構文は次のとおりです。「$User = D('User');」は、現在のプロジェクトのカスタム モデルをインスタンス化することを意味します。
このチュートリアルの動作環境: Windows 7 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
thinkphp big d メソッドを使用するにはどうすればよいですか?
D メソッド
D メソッドは、より一般的に使用されるメソッドです。カスタム モデル クラスをインスタンス化するために使用されます。これは、ThinkPHP フレームワークの応答です。 Model クラス。インスタンス化のカプセル化であり、シングルトン モードを実装し、プロジェクト間およびグループ呼び出しをサポートします。呼び出し形式は次のとおりです:
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();
推奨学習: "thinkPHP ビデオ チュートリアル"
以上がthinkphp big d メソッドの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。