ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP の d() と m() の違いは何ですか
違い: M メソッドは基本モデル クラスを効率的にインスタンス化するために使用され、D メソッドはユーザー定義モデル クラスをインスタンス化するために使用されます。 M メソッドはモデル クラス ファイルを作成する必要がなく、M メソッドはモデル クラスを読み取りませんが、D メソッドはモデル クラスを作成する必要があります。
#このチュートリアルの動作環境: Windows 7 システム、thinkphp バージョン 6、Dell G3 コンピューター。
M メソッドと D メソッドの違い
ThinkPHP では、M メソッドと D メソッドの両方を使用してモデル クラスをインスタンス化します。 M メソッドは基本モデル クラスを効率的にインスタンス化するために使用され、D メソッドはユーザー定義モデル クラスをインスタンス化するために使用されます。
M メソッドはモデル クラス ファイルを作成する必要はありません。M メソッドはモデル クラスを読み取らないため、自動検証はデフォルトでは無効ですが、動的検証によって実現できます。割り当て; D メソッドはモデル クラスを作成する必要があります。
#M メソッドを使用する
# 次の状況が発生した場合は、M メソッドの使用を検討してください:$User = M('User');
D メソッドを使用します
次の状況が発生した場合は、方法 D の使用を検討してください。
$User = D('User', 'Admin'); // 实例化 Admin 项目下面的 User 模型 $User = D('Admin.User'); // 启用了项目分组
Tips
プロジェクトのグループ化が有効になった後、Model クラスは必ずしもプロジェクトのグループ化に対応するとは限りません。複数のプロジェクト グループ間で共有されるモデル クラスは Model ディレクトリに配置され、D('ModelName') を使用して直接インスタンス化できます。また、D('User.UserInfo') は、User がプロジェクト グループである必要があるという意味ではなく、Model の下にあるファイルの分類ディレクトリでも構いません。D('User.UserInfo') は、User ディレクトリに UserInfo モデルをインスタンス化します。親切。要約
モデル クラス ファイルが存在しない場合は、M メソッドと D メソッドの両方を直接使用できますが、明らかに M メソッドの方が効率的ですが、モデル クラスでビジネス ロジックを使用するには、D メソッドを使用する必要があります。 より鮮明な例え: 方法 M は、オペレーティング システムをインストールしたばかりで、いくつかの基本的な機能しか使用できないコンピューターのようなものであり、方法 D は、インストールされたシステムに Office や QQ などのアプリケーション ソフトウェアをインストールするようなもので、機能はより強力です。 、同時にコンピューター全体の動作が遅くなります。 関連する推奨事項:最新の 10 件の thinkphp ビデオ チュートリアル
以上がThinkPHP の d() と m() の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。