Mars's Blog

PHP培訓-CRUD

一、開發環境

建議開發環境

  • LNMP, LAMP, XAMPP
  • 範圍:MySQL資料表建立、HTML、Javascript、PHP、物件導向

相關教學文章

本培訓可搭配 CRUD 系列教學文章學習:

二、基本要求(總分:50 分)

2.1 資料表建立(5 分)

請建構一個 帳號管理 的基本CRUD表單,欄位有:

  • 帳號 varchar(15)
  • 姓名 varchar(50)
  • 性別 varchar(1)
  • 生日 date
  • 信箱 varchar(100)
  • 備註 text

資料表名稱 account_info
需自行建立資料表

2.2 功能要求(45 分)

  1. (5 分)PHP 物件導向:需使用物件、繼承、介面等技巧
    • 自行定義物件並展示繼承、介面,本題不算第三方程式物件的使用
  2. (5 分)清單頁:顯示已存在資料
  3. (10 分)CRUD 操作:新增 / 編輯 / 刪除(需二次確認)
  4. (5 分)jQuery & AJAX:使用 AJAX 進行資料操作
  5. (5 分)唯一性驗證:帳號欄位是唯一值,不可重複
  6. (3 分)**彈窗(Dialog)**:使用彈窗方式開啟新增/編輯表單頁/確認視窗
    • 可使用套件 Bootstrap Modal, jQuery UI Dialog
  7. (3 分)搜尋、排序:支援搜尋、排序功能
  8. (3 分)分頁功能:每頁顯示數量、分頁(Pagination)
  9. (6 分)資料驗證
    • 必填:帳號、姓名、性別、生日、信箱
    • 帳號格式:英數混合(不分大小寫),位數為5~15碼
    • 日期格式:生日
    • 信箱格式:信箱

      重要:前後端皆要驗證

  • 基本要求共10題,測試基礎能力
  • 可使用套件
  • 實作 搜尋、排序、每頁顯示數量、分頁 時不可使用套件 (除jQuery,Bootstrap)
  • 不可使用到 四、套件練習 中的套件

三、進階要求(總分:50 分)

以下需求 依個人能力 選擇項目完成

  1. (5 分)使用 PHP Framework
    • 如:CodeIgniter3, Yii2, Laravel
  2. (3 分)使用 RWD Framework
    • 如:Bootstrap
  3. (8 分)編碼風格:PSR-1 & PSR-2 & PHPDoc註釋 & PSR-4 & 使用Namespace
    • 自行開發spl_autoload_register()或用composer autoload輔助
  4. (5 分)RESTful API:AJAX使用 RESTful style傳送資料,並且回傳支援 HTTP Status Code
  5. (6 分)資料處理
    • 帳號:字母全部轉小寫才寫入資料庫
    • 性別:顯示時為 男/女 ,資料庫儲存為 1/0
    • 生日:顯示時格式 2019年2月15日 ,資料庫儲存格式為 2019-02-15
  6. (3 分)Javascript 物件寫法
  7. (5 分)批次刪除功能
  8. (5 分)匯出資料(text or excel)
  9. (5 分)匯入資料(批次新增 or 批次修改)
  10. (5 分)匯入處理要求
    • 匯入時做差異處理,帳號存在者為更新,帳號不存在者為新增
    • 匯入時,也需驗証,當有一筆錯誤時,該次匯入不處理,且需返回錯誤訊息
  • 進階要求共10題,每題配分不同
  • 可使用Excel匯出匯入模組
  • 不可使用到 四、套件練習 中的套件

四、套件練習(加分項)

  1. (10 分)使用 DataTables 取代自行實作的 搜尋、排序、每頁顯示數量、分頁 功能

評分說明

  • 基本要求:50 分(必須完成)
  • 進階要求:50 分(選做,依個人能力完成)
  • 套件練習:10 分(加分項)
  • 總分:110 分(基本 + 進階 + 套件練習)
  • 及格標準:70 分以上
  • 優秀標準:90 分以上

五、參考

官網

教程

套件