ホームページ  >  記事  >  PHPフレームワーク  >  ThinkphpのDメソッドとMメソッドの違い

ThinkphpのDメソッドとMメソッドの違い

步履不停
步履不停オリジナル
2019-07-01 11:43:143077ブラウズ

ThinkphpのDメソッドとMメソッドの違い

この 2 つはモデルをインスタンス化するという共通点がありますが、違いは何でしょうか?見てみましょう:

$User = D('User'); 括弧内のパラメータ User は、対応するモデル クラス ファイルの \Home\Model\UserModel.class.php に対応します (現在のmodule が Home )、パラメーターが 'UserType' の場合、対応するモデル クラス ファイルは \Home\Model\UserTypeModel.class.php になります。これは、D メソッドのパラメーターがモデルの名前であり、一貫していることを意味します。モデルクラスのケース定義を使用します。

$User = M('User'); は $User = new \Think\Model('User'); と同等です。つまり、M メソッドがインスタンス化されるとき、デフォルトでは \Think です。システムを直接インスタンス化する \Model クラス。他のパブリック モデル クラスをインスタンス化したい場合は、次のメソッドを使用できます: $User = M('\Home\CommenModel:User','think_','db_config' );(テーブルの接頭辞は think_) であると仮定します。

インスタンス化のプロセスでは、D メソッドと M メソッドがよく使用されます。2 つのメソッドの違いは、M メソッドは、ユーザーが各データ テーブルのモデル クラスを定義せずにモデルをインスタンス化することです。 D メソッドが見つからない場合、定義されたモデル クラスは自動的に M メソッドを呼び出します。

また、ThinkPHP の自動検証機能や自動補完機能を使用したい場合は、D メソッドを使用する必要があります。

実際、率直に言うと、M メソッドをインスタンス化するときのパラメーターはデータベースのテーブル名ですが、D メソッドは Model フォルダーに作成した Model クラスをインスタンス化します。 D メソッドを使用して、自動的に検証して自動的に完了します。

その他の ThinkPHP 関連の技術記事については、ThinkPHP 使用法チュートリアル 列にアクセスして学習してください。

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

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