thinkphp の Big d は、カスタム モデル クラスのインスタンス化に使用される組み込みメソッドです。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化です。D メソッドの呼び出し形式は、「D(' [プロジェクト://][グループ/]モデル','モデルレイヤー名')"。
この記事の動作環境: Windows 7 システム、ThinkPHP バージョン 5.0、Dell G3 コンピューター。
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 サイトの他の関連記事を参照してください。