この記事では、ThinkPHP プログラミングで非常に重要な用途を持つ ThinkPHP でモデルをインスタンス化する 4 つの方法について説明します。詳細は以下の通りです
1. 基本モデルを作成します: システムに付属するデータベース操作クラスをインスタンス化します
Test.Model.class.php ページのコードは次のとおりです:
UserAction.class.php ページのコードは次のとおりです:
2. カスタムモデルをインスタンス化します
データベース操作がより複雑な場合は、いくつかのカスタム データベース操作メソッドをカスタム Model クラスに追加する必要があります
UserModel.class.php ページのコードは次のとおりです:
UserAction.class.php ページのコードは次のとおりです:
または、テーブルをインスタンス化すると同時に、自分で作成したカスタム データベース オペレーション クラスをインスタンス化する必要があります。コードは次のとおりです:
3. ユーザーモデルをインスタンス化する
UserAction.class.php ページのコードは次のとおりです:
UserModel.class.php ページのコードは次のとおりです:
クラス名 user はテーブル名 user に対応するため、UserAction でこのモデルをインスタンス化するときに、追加のテーブル名を渡す必要はありません。 コードは次のとおりです。
リーリー3 番目のインスタンス化モデル方法は、操作されるテーブルのより複雑なビジネス ロジックに適していますが、一般的なビジネス ロジックの使用は必要ありません。 (そのビジネス ロジックはユーザー テーブルに固有であり、他のモデルで使用する必要はありません)。
4. 空のモデルをインスタンス化します。操作をインスタンス化するときにどのテーブルを使用するかがわかりません。
リーリー
添付: $user=new UserModel() と $user=D('user'); の違い:
(1). D メソッドはモデル クラスを自動的に検出でき、存在しない場合は例外をスローします。同時に、インスタンス化されたモデルは繰り返しインスタンス化されません。デフォルトの D メソッドは、現在のプロジェクトの下にあるモデルにのみ適用できます。(2) これはフロントエンド アプリケーションですが、バックエンド プロジェクトのモデルをインスタンス化したい場合は、D を使用できます。
リーリー
データベース接続情報とともに、Conf ディレクトリ内の config.php ファイルに追加する必要があります。
http://www.bkjia.com/PHPjc/868236.html
www.bkjia.com
true