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