ThinkPHP のモデル 2
ケース: ThinkPHP を使用して部門管理を完了します
① データベースを設計します
② Dept コントローラーの作成
パス: ./Application/Admin/Controller コントローラーの作成
ルール: DeptController.class
プログラミング手順の 3 ステップ
③ add.html テンプレートを ./Application/Admin/View/Dept フォルダーにコピーし、テンプレートのパスを変更します
④ View/Index/index.html の左側のナビゲーションを変更
⑤ 関数を追加する親部門(使用モデル)を取得
パス :./Application/Admin/Model/DeptModel.class.php
モデル コードをプログラムする 3 つのステップ:
コントローラーでモデルをインスタンス化する, 上位部門のロード機能が完成しました。
1) モデルをインスタンス化します
2) select メソッドを呼び出します
3) テンプレート ファイルに変数を割り当てます
テンプレートファイル add.html に上位部門の一覧を表示
⑥ データ追加関数 addOk を実装
テンプレートページにプログラムJavascript コードとフォーム データの送信
フォーム送信ページの定義
実装するコントローラーでの addOk メソッドの定義追加操作
使用する知識ポイント: I メソッド、主な機能: フォーム データの受信、より高いセキュリティ
⑦ データオブジェクトを作成する create メソッドを紹介します
上記の addOk でデータベースにデータを追加することは普通にできますが、受信や処理が冗長すぎますフォームの作成を ThinkPHP で使用できます。create メソッドを使用するとそれが簡素化されます。
以下の図に示すように、Zend ソフトウェアを使用して作成メソッドを追跡します。 >
データ処理が完了すると、受信したフォーム データが現在のオブジェクトに割り当てられます
質問: add メソッドが正常に追加できるのはなぜですかパラメータを追加せずに?
回答: add メソッドの分析を続けます。コードは次のとおりです。
add メソッドにパラメータがない場合、システムは自動的に$this->data この属性を読み取り、create メソッドの完了後にフォーム データが $this->data 属性に格納されるため、システムはフォーム データをデータ テーブルに自動的に追加します。
4. 部門リスト機能を完成します ① 以下に示すように、コントローラーでインデックス メソッドを定義します。
② インデックスをコピーします。 .html テンプレートを ./Application/Admin/View/Dept フォルダーに追加し、パス
を変更します。