Mars's Blog

PHP培訓-CRUD

一、開發環境

建議開發環境

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

二、基本要求

  1. 請建構一個 帳號新增 的基本CRUD表單,欄位有:
    • 帳號 varchar
    • 姓名 varchar
    • 性別 varchar
    • 生日 date
    • 信箱 varchar
    • 備註 text

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

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

      前後端皆要驗証

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

三、進階要求

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

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

四、套件練習

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

五、參考

官網

教程

套件