網頁設計08-Laravel-web(6.5hr)

一、基本設定與目錄結構(15min)

  1. Laravel簡介:php的框架,程式簡約,有可讀性,適合團隊開發,完整的工具使其易維護。(https://laravel.tw/)
  2. 建立檔案,檔名openCMD.bat,內容為
    %~d1
    cd “%~p1”
    call cmd
  3. 建立專案:https://laravel.tw/docs/5.3
  4. 目錄結構說明:https://laravel.tw/docs/5.3/structure
  5. 環境設定:https://docs.laravel-dojo.com/laravel/5.5/configurationhttps://www.kancloud.cn/kancloud/laravel-5-learning-notes/50153

二、Migrations(20min+25min練習)

  1. 需先確認.env檔中的資料庫連線是否已設定好。
  2. 依照資料庫正規化結果,撰寫資料庫遷移。
  3. 建立資料庫遷移:https://laravel.tw/docs/5.3/migrations#generating-migrations

三、Model(20min+25min練習)

  1. 依照資料庫正規化結果,確認各模型之間的關係(1:1、1:N、M:N)。
  2. 建立模型:https://laravel.tw/docs/5.3/eloquent#defining-models
  3. 設定軟刪除(邏輯上刪除掉,實際上還是存在資料庫):https://laravel.tw/docs/5.3/eloquent#deleting-models
  4. 建立模型關聯:https://laravel.tw/docs/5.3/eloquent-relationships#defining-relationships

四、Seeding(20min+25min練習)

  1. 建立種子(測試)資料:https://laravel.tw/docs/5.3/seeding#writing-seeders

五、資料庫與Eloquent ORM(20min+25min練習)

  1. 模型的CURD操作:https://laravel.tw/docs/5.3/eloquent#retrieving-models
  2. 模型關聯操作:https://laravel.tw/docs/5.3/eloquent-relationships#querying-relations
  3. 資料庫操作:https://laravel.tw/docs/5.3/queries#retrieving-results
  4. 資料庫原生SQL操作(個人建議若情況太複雜才使用):https://laravel.tw/docs/5.3/database#running-queries

六、Controllers+Session+validator(40min+20min練習)

  1.  建立控制器:https://laravel.tw/docs/5.3/controllers#resource-controllers
  2. 使用Session儲存訊息(登入狀態/錯誤訊息):https://laravel.tw/docs/5.3/session#using-the-sessionhttps://www.itsolutionstuff.com/post/laravel-5-implement-flash-messages-with-exampleexample.html
  3. 使用validator驗證資料:https://laravel.tw/docs/5.3/validation#manually-creating-validators
  4. 檔案上傳:https://laravel.tw/docs/5.3/requests#files

七、Routing(15min+15min練習)

  1. 建立路由:https://laravel.tw/docs/5.3/routing#basic-routing
  2. 預設路由與控制器:https://laravel.tw/docs/5.3/controllers#resource-controllers

八、Middleware(10min+15min練習)

  1. 中介層簡介:在得知路由(Routing)後,進入控制器(Controllers)前,提供一個簡便的機制來過濾資料,符合條件者才能進入對應的控制器。
  2. 建立中介層:https://laravel.tw/docs/5.2/middleware#defining-middlewarehttps://www.itread01.com/content/1546268770.html
  3. 設定哪些路由需經過中介層:https://laravel.tw/docs/5.3/routing#route-groups

九、CSRF(10min)

  1. CSRF簡介:https://blog.techbridge.cc/2017/02/25/csrf-introduction/
  2. 使用CSRF:https://laravel.tw/docs/5.3/csrf

十、Localization多語系(10min)

  1. 建立多語系檔案:https://docs.laravel-dojo.com/laravel/5.5/localizationhttps://dev.to/fadilxcoder/adding-multi-language-functionality-in-a-website-developed-in-laravel-4ech
  2. 在View中使用:https://laravel.tw/docs/5.3/localization#retrieving-language-lines

十一、Views/Blade(30min+30min練習)

  1. 建立Blade模板:https://laravel.tw/docs/5.3/blade#template-inheritance
  2. 父模板提供@yield空白處,給子模板的【單一】@section(索引,值)、【多行】@section~@endsection放
  3. 子模板用父模板時:先@extends(父模板);@section中要用父模板,則加@parent。
  4. 父/子模板是互相對應的!
  5. 在Controller裡回傳View:https://laravel.tw/docs/5.3/blade#displaying-data
  6. Form方法欺騙:https://laravel.tw/docs/5.3/routing#form-method-spoofinghttps://hackmd.io/@8irD0FCGSQqckvMnLpAmzw/BkaOzFCMM?type=view

十二、作業:將課堂練習完成。

十三、參考書籍

  1. http://www.libwebpac.yuntech.edu.tw/Webpac2/store.dll/?ID=663572&T=0&S=ASC&ty=ie&snc=342F121538004AD0421C3D282F301325
  2. http://www.libwebpac.yuntech.edu.tw/Webpac2/store.dll/?ID=663576&T=0&S=ASC&ty=ie&snc=342F121538004ED44618392C2B0C4FE9

十四、課程影片(片長:02:06:46)