案例:使用ThinkPHP完成部門管理
① 設計數據庫
② 創建Dept控制器
路徑:./Application/Admin/Controller創建控制器
規則:DeptController.class.php
編程程序三步走
③ 復制add.html模板到./Application/Admin/View/Dept文件夾,更改模板路徑
④ 更改View/Index/index.html左側導航
⑤ 獲取添加功能的上級部門(使用模型)
路徑:./Application/Admin/Model/DeptModel.class.php
編程模型代碼三步走:
在控制器中實例化模型,完成載入上級部門功能。
1)實例化模型
2)調用select方法
3)分配變量到模板文件
在模板文件add.html中,顯示上級部門列表
⑥ 實現數據的添加功能addOk
在模板頁面中,編程Javascript代碼,提交表單數據
定義表單提交頁面
在控制器中定義addOk方法實現添加操作
要用到的知識點:I方法,主要功能:接收表單數據,安全性更高
⑦ 引入create方法創建數據對象
以上addOk雖然可以正常添加數據到數據庫,但是對於表單的接收和處理過於冗余,我們在ThinkPHP中可以使用create方法對其進行簡化操作。
使用Zend軟件追蹤create方法,如下圖所示:
當數據處理完成後,會將接收的表單數據賦值給當前對象
問題:為什麼add方法不添加任何參數也可以添加成功呢?
答:繼續分析add方法,代碼如下:
如果add方法中沒有任何參數,系統會自動讀取$this->data這個屬性,又由於剛才create方法在處理完成後,會將表單數據存放於$this->data屬性中,所以系統會自動將表單數據添加到數據表中。
① 在控制器中定義index方法,如下圖所示:
② 復制index.html模板到./Application/Admin/View/Dept文件夾下並更改路徑