一、開發環境
建議開發環境
- LNMP, LAMP, XAMPP
- 範圍:MySQL資料表建立、HTML、Javascript、PHP、物件導向
二、基本要求
- 請建構一個 帳號新增 的基本CRUD表單,欄位有:
- 帳號 varchar
- 姓名 varchar
- 性別 varchar
- 生日 date
- 信箱 varchar
- 備註 text
資料表名稱 account_info
需自行建立資料表
- 需要用到PHP物件、繼承、介面等物件導向技巧
- 自行定義物件並展示繼承、介面,本題不算第三方程式物件的使用
- 清單頁 - 顯示已存在資料
- 新增 / 編輯 / 刪除(需二次確認) - 資料編輯用
- 需用到 jQuery, AJAX
- 帳號欄位是唯一值,不可重複
- 使用彈窗(Dialog)方式開啟 新增/編輯表單頁/確認視窗
- 可使用套件 Bootstrap Modal, jQuery UI Dialog
- 支援 搜尋、排序 功能
- 每頁顯示數量、分頁(Pagination)
- 資料驗証
- 必填:帳號、姓名、性別、生日、信箱
- 帳號格式:英數混合(不分大小寫),位數為5~15碼
- 日期格式:生日
- 信箱格式:信箱
前後端皆要驗証
- 基本要求共10題,測試基礎能力
- 可使用套件
- 實作 搜尋、排序、每頁顯示數量、分頁 時不可使用套件 (除jQuery,Bootstrap)
- 不可使用到 四、套件練習 中的套件
三、進階要求
以下需求 依個人能力 選擇項目完成
- 使用PHP Framework
- 如:CodeIgniter3, Yii2, Laravel
- 使用RWD Framework
- 如:Bootstrap
- 編碼風格:PSR-1 & PSR-2 & PHPDoc註釋 & PSR-4 & 使用Namespace
- 自行開發spl_autoload_register()或用composer autoload輔助
- AJAX使用 RESTful style傳送資料,並且回傳支援 HTTP Status Code
- 資料處理
- 帳號:字母全部轉小寫才寫入資料庫
- 性別:顯示時為 男/女 ,資料庫儲存為 1/0
- 生日:顯示時格式 2019年2月15日 ,資料庫儲存格式為 2019-02-15
- Javascript使用物件寫法
- 批次刪除功能
- 匯出資料(text or excel)
- 匯入資料(批次新增 or 批次修改)
- 匯入處理要求
- 匯入時做差異處理,帳號存在者為更新,帳號不存在者為新增
- 匯入時,也需驗証,當有一筆錯誤時,該次匯入不處理,且需返回錯誤訊息
- 進階要求共10題
- 可使用Excel匯出匯入模組
- 不可使用到 四、套件練習 中的套件
四、套件練習
- 使用 DataTables 取代自行實作的 搜尋、排序、每頁顯示數量、分頁 功能
五、參考
官網
教程
- PHP 7 Tutorial
- CodeIgniter User Guide
- Bootstrap 3 Document
- Bootstrap 3 Tutorial
- Bootstrap 4 Document
- Bootstrap 4 Tutorial
- jQuery Tutorial
- SQL Tutorial
- MySQL基礎教程
- PHP基礎教程