ケース: ThinkPHP を使用して部門管理を完了する
① デザインデータベース
② 部門コントローラーの作成
パス: ./Application/Admin/Controllerコントローラーの作成
ルール: DeptController.class.php
プログラミング手順の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メソッドにパラメータがない場合、先ほどのcreateメソッドは処理後に$this->data属性にフォームデータを格納するため、システムが自動的に$this->data属性を読み込みます。完了したため、システムはフォーム データをデータ テーブルに自動的に追加します。
① 以下の図に示すように、コントローラーでインデックスメソッドを定義します。
②index.htmlテンプレートを./Application/Admin/View/Deptフォルダーにコピーし、パスを変更します