一、基本設定與目錄結構(15min)
- Laravel簡介:php的框架,程式簡約,有可讀性,適合團隊開發,完整的工具使其易維護。(https://laravel.tw/)
- 建立檔案,檔名openCMD.bat,內容為
%~d1
cd “%~p1”
call cmd - 建立專案:https://laravel.tw/docs/5.3
- 目錄結構說明:https://laravel.tw/docs/5.3/structure
- 環境設定:https://docs.laravel-dojo.com/laravel/5.5/configuration、https://www.kancloud.cn/kancloud/laravel-5-learning-notes/50153
二、Migrations(20min+25min練習)
- 需先確認.env檔中的資料庫連線是否已設定好。
- 依照資料庫正規化結果,撰寫資料庫遷移。
- 建立資料庫遷移:https://laravel.tw/docs/5.3/migrations#generating-migrations
三、Model(20min+25min練習)
- 依照資料庫正規化結果,確認各模型之間的關係(1:1、1:N、M:N)。
- 建立模型:https://laravel.tw/docs/5.3/eloquent#defining-models
- 設定軟刪除(邏輯上刪除掉,實際上還是存在資料庫):https://laravel.tw/docs/5.3/eloquent#deleting-models
- 建立模型關聯:https://laravel.tw/docs/5.3/eloquent-relationships#defining-relationships
四、Seeding(20min+25min練習)
五、資料庫與Eloquent ORM(20min+25min練習)
- 模型的CURD操作:https://laravel.tw/docs/5.3/eloquent#retrieving-models
- 模型關聯操作:https://laravel.tw/docs/5.3/eloquent-relationships#querying-relations
- 資料庫操作:https://laravel.tw/docs/5.3/queries#retrieving-results
- 資料庫原生SQL操作(個人建議若情況太複雜才使用):https://laravel.tw/docs/5.3/database#running-queries
六、Controllers+Session+validator(40min+20min練習)
- 建立控制器:https://laravel.tw/docs/5.3/controllers#resource-controllers
- 使用Session儲存訊息(登入狀態/錯誤訊息):https://laravel.tw/docs/5.3/session#using-the-session、https://www.itsolutionstuff.com/post/laravel-5-implement-flash-messages-with-exampleexample.html
- 使用validator驗證資料:https://laravel.tw/docs/5.3/validation#manually-creating-validators
- 檔案上傳:https://laravel.tw/docs/5.3/requests#files
七、Routing(15min+15min練習)
- 建立路由:https://laravel.tw/docs/5.3/routing#basic-routing
- 預設路由與控制器:https://laravel.tw/docs/5.3/controllers#resource-controllers
八、Middleware(10min+15min練習)
- 中介層簡介:在得知路由(Routing)後,進入控制器(Controllers)前,提供一個簡便的機制來過濾資料,符合條件者才能進入對應的控制器。
- 建立中介層:https://laravel.tw/docs/5.2/middleware#defining-middleware、https://www.itread01.com/content/1546268770.html
- 設定哪些路由需經過中介層:https://laravel.tw/docs/5.3/routing#route-groups
九、CSRF(10min)
- CSRF簡介:https://blog.techbridge.cc/2017/02/25/csrf-introduction/
- 使用CSRF:https://laravel.tw/docs/5.3/csrf
十、Localization多語系(10min)
- 建立多語系檔案:https://docs.laravel-dojo.com/laravel/5.5/localization、https://dev.to/fadilxcoder/adding-multi-language-functionality-in-a-website-developed-in-laravel-4ech
- 在View中使用:https://laravel.tw/docs/5.3/localization#retrieving-language-lines
十一、Views/Blade(30min+30min練習)
- 建立Blade模板:https://laravel.tw/docs/5.3/blade#template-inheritance
- 父模板提供@yield空白處,給子模板的【單一】@section(索引,值)、【多行】@section~@endsection放
- 子模板用父模板時:先@extends(父模板);@section中要用父模板,則加@parent。
- 父/子模板是互相對應的!
- 在Controller裡回傳View:https://laravel.tw/docs/5.3/blade#displaying-data
- Form方法欺騙:https://laravel.tw/docs/5.3/routing#form-method-spoofing、https://hackmd.io/@8irD0FCGSQqckvMnLpAmzw/BkaOzFCMM?type=view
十二、作業:將課堂練習完成。
十三、參考書籍
- http://www.libwebpac.yuntech.edu.tw/Webpac2/store.dll/?ID=663572&T=0&S=ASC&ty=ie&snc=342F121538004AD0421C3D282F301325
- http://www.libwebpac.yuntech.edu.tw/Webpac2/store.dll/?ID=663576&T=0&S=ASC&ty=ie&snc=342F121538004ED44618392C2B0C4FE9