課程敘述
(課程使用最新的 Laravel 8 進行錄影,但是基本觀念近幾版 Laravel 幾乎沒有差異。套件改了就不會解決問題不太算真的有學習進去。)
Laravel 為目前 PHP 網站框架中最熱門的,其設計理念為優雅容易使用為主,而其使用的程式語言 PHP 又為全世界最多網站使用的程式語言 ,對於後端新手來說是一個相當友善的選擇,也因此與其他後端技術相比,「入門等級」的工作也是相對比較多的,對有轉職的需求的新手開發者來說是相對有利的。
Laravel 本身採用類似 MVC 架構,對於程式各個部位有清晰完整的分類,包含大部分網頁開發所需的功能。Laravel 本身已經完成度已經相當高,近期版本變動上雖然進階功能略有增加,但是基礎的骨幹幾乎沒有變化,所以不用擔心需要過幾年又要打掉重練學習新技術,也不用擔心進入職場發現要維護的版本太舊與所學不同,投資報酬率相當高。
在網頁前端 (Front-end) 的部分,除了傳統利用 PHP 後端繪製 HTML 以外,對於後端以 API Server 為主體的「前後端分離」概念有相當完整的支援。並且 React JS 與 Vue.js 都在 Laravel 官方支援中,可以在專案設定裡指定使用。
(此課程配合前端課程,在API Server 前後端分離章節以 React 為主,但是課程不需學會 React 也可以進行,大部分內容如有需要將使用基本 JavaScript 語法配合進行。)
「進度條線上課程」的 Laravel 課程走向與其他的資源不一樣的地方在於,我們會以網路、網站原理切入程式議題,而非單純教導 Laravel 的語法、指令與設定等。畢竟 Laravel 官網相當詳盡,本來就有相當完整的說明與指令教學。但是程式新手要進階到獨當一面的程式設計師必須要學習足夠的基本知識,而非單純的使用工具。
課程將從 HTML CSS JavaScript 與 Laravel 的關係開始,先從網站畫面(View)出發,再到網站商業邏輯的 Controller 層。課程中期將以 Model 層與關聯性資料庫 MySQL 在 Laravel 中扮演的角色為重點,並且以「商業購物型」網站為範例進行資料庫的設計與 Laravel 內的程式功能實現。同時在「補充課程」我們也包含了基本的 PHP 語法教學,讓喜歡逐步學習的同學可以依照自己進度隨時複習。
程式後段將會講解包含以 API Server 為主的後端程式設計邏輯,如何讓後端 Server 與手機 APP 或是純前端網站構通。最後以完整的「軟體即服務 SaaS」範例作為收尾,讓同學了解訂閱型服務是如何製作,以及 Laravel 在其中又扮演怎樣的角色。
(常見的軟體即服務 SaaS,例如金流公司 Stripe、工具型的服務 Google analytics 或是 Shopback 現金返利、 Line 購物與 Affiliate 聯盟行銷等,他們共通的特點就是主要服務為利用 Web API 來進行溝通,而且裡面類似的技術概念也常用在 Netflix 或 Spotify 這樣的內容提供商裡。)
此外還要提及進度條課程的另外一個特點,就是課程彼此之間是有關聯性的。事實上,不可能有人只學會 Laravel 就可以成為進階的工程師或是規劃商業系統。Laravel 課程所提到的議題都可以在更進階有系統的去探討,例如更深入探討 MySQL 與其功能,React JS 的前端設計規劃,Linux Apache Nginx 與 AWS 作業系統與網路伺服器層面的調整優化,工具型 SaaS 服務如果要提供給 WordPress 使用的 Plugin 外掛製作細節。這些部分對於新手來說都有可能是未來的難題,進度條在各個課程設計之初就有保留銜接的空間互相配合,所以一起學習會有加乘的效果。
同時我們也有包含前端基礎的組合課程,讓你前後端同時學習到位喔!
前端基礎 HTML, CSS, JavaScript + 後端 Laravel 課程完整課程
Laravel + Linux AWS + MySQL,後端 PHP 架站與優化
後端進階輔助課程:
Linux AWS Apache Nginx + MySQL 進階輔助課程組合
課程難度
初級,此課程需要一點基本程式經驗。
請參閱課程需求
課程需求
2. 使用過CSS 與 Javascript
3. 有一台電腦(Windows & MacOS皆可)
4. 有一顆不畏懼艱難的心
非必要,但會幫助學習
1. (曾經)有一個網站或需要維護一個網站
課程目標
1. 學會 PHP 語法
2. 學會使用 Laravel 製作網站
3. 了解後端與前端之間的差別與個別的特性
4. 有能力依照需求設計出功能程式
5. 有能力進行基本資料庫規劃
6. 對於網站系統架構有所了解
7. 製作與設計 API Server
8. 在 VPS 上架設網站
9. 加入金流串接結帳
課程特點
不單純只是了解語法,而是了解背後的架設網站的原理。
不會因為換了工具與程式框架就完全不知所措。
課程從頭開始進行,包含 PHP 基礎語法。最後到現代常見的系統架構實作。
循序漸進,不會因為都在背誦而導致真實專案有變化後什麼都不會。
第一章 (總長2.3小時)
-
play_arrow
01. Laravel 課程與介紹
11:23 -
play_arrow
02. [跨平台] Laravel 安裝前需要了解的一些事
12:10 -
play_arrow
03. [Windows] 安裝 PHP 主程式
18:14 -
play_arrow
04. [Windows] 安裝 Composer
08:19 -
play_arrow
05. [Windows & Mac & Linux] 重要!!安裝錯誤解決 requested PHP extension fileinfo is missing from your system(php.ini)
05:28 -
play_arrow
06. [Windows] 安裝 Laravel
14:34 -
play_arrow
07. [Mac] 安裝套件管理工具 Homebrew 與細節介紹
11:32 -
play_arrow
08. [Mac] 安裝 PHP 與 PHP 版本切換注意事項 (使用 Homebrew)
17:31 -
play_arrow
09. [Mac] 安裝Composer (使用 Homebrew 或直接安裝)
19:01 -
play_arrow
10. [Mac] 安裝與產生 Laravel 專案
12:54 -
lock
11. [跨平台] 利用Composer 產生不同版本的Laravel
04:48
第二章 (總長6.7小時)
-
play_arrow
01. 章節資源使用方式與開發介紹
07:08 -
lock
02. [補充][Windows] 安裝MAMP來開發PHP
21:03 -
lock
03. [補充][Mac] 安裝MAMP來開發PHP
12:42 -
play_arrow
04. PHP初學章節介紹
06:05 -
lock
05. PHP與Echo
06:56 -
lock
06. 註解的寫法
01:57 -
play_arrow
07. 變數
09:37 -
lock
08. 變數命名與編寫風格
08:23 -
lock
09. 字串(String)
09:52 -
lock
10. 數字介紹與處理
17:57 -
lock
11. 算術運算
15:32 -
lock
12. 布林值與條件判斷
08:34 -
lock
13. 比較與邏輯運算子
13:19 -
lock
14. 更多條件判斷與null空集合
10:44 -
lock
15. 取得HTML傳遞參數
15:10 -
lock
16. 三元運算子與單行條件判斷
08:10 -
lock
17. Switch-case條件判斷
13:21 -
lock
18. 陣列(矩陣)介紹
14:08 -
play_arrow
19. 陣列的新增與刪除
11:21 -
lock
20. [補充]陣列與迴圈的關係
04:32 -
play_arrow
21. while 與 do-while迴圈,補充遞增遞減運算子
16:56 -
lock
22. for 與 foreach迴圈
09:23 -
lock
23. 迴圈的中斷(continue & break)
18:09 -
lock
24. 函數與回傳值 ( function and return value)
19:22 -
lock
25. 函數的傳入值與預設值 (function and parameters )
12:19 -
lock
26. 全域變數與系統函數
10:34 -
lock
27. 巢狀迴圈
12:53 -
lock
28. Class類別與Object
27:18 -
lock
29. 類別常數與靜態方法(Constant & Static)
11:49 -
lock
30. 繼承與複寫
13:04 -
lock
31. 型別指定與強制轉換
08:32 -
play_arrow
32. 利用PHP讀取MySQL資料庫並顯示出資料( mysqli )
22:32
第三章 (總長3.4小時)
-
play_arrow
01. 初探路由與更換首頁內容
17:11 -
lock
02. 初探Blade template, 分切畫面重複使用(@extends, @section, @yield, @include)
15:52 -
play_arrow
03. Laravel與前端資源, 為何需要先安裝NodeJS
08:28 -
lock
04. [補充] Nodejs 簡介
05:04 -
lock
05. [補充][Windows] 安裝Node.js與npm
07:16 -
lock
06. [補充][MacOS] 安裝Node.js與npm
05:43 -
lock
07. npm install, 初探 webpack 與 mix 指令
14:56 -
lock
08. Sass基本語法介紹與在Laravel編譯Scss檔案
23:38 -
lock
09. 組合與最小化css, 解決css內部圖片路徑問題
21:01 -
lock
10. 加入字型檔, 利用Google font 來示範
12:21 -
lock
11. Javascript assets介紹, 在mix 底下使用標準的 JavaScript 與 Babel 編譯 ES6
16:16 -
lock
12. [補充] React 在 Laravel 中的使用方式
20:58 -
lock
13. 加入version版本與env參數
08:51 -
lock
14. 利用 Apache 來實現 Cache 功能與測試Laravel 的解決方案
14:41 -
play_arrow
15. [練習] 移植完整靜態頁面進 Laravel 專案
09:50
第四章 (總長6.3小時)
-
play_arrow
01. 初探 Controller 控制器與Routing和View的關係
11:38 -
lock
02. 建立簡單商品頁面, 利用參數切換顯示商品
18:46 -
lock
03. 改變商品url, 將 id 置入url
16:17 -
lock
04. 利用 resource 建立 Rest 路由(一) - index 頁面與 route 路徑函數
17:59 -
lock
05. REST 介紹與Laravel 中的對應
21:55 -
lock
06. Resource action 示範與Form submit 注意事項(@csrf, @metod, destroy)
17:01 -
lock
07. 利用JavaScript 控制 Cookie 製作購物車雛形(一)
17:12 -
lock
08. 利用JavaScript 控制 Cookie 製作購物車雛形(二)
10:02 -
lock
09. Server 端 Laravel 控制 Cookie 機制介紹與實作
25:25 -
lock
10. 完成 Server 端更新 Cookie, 小心 httpOnly參數
26:24 -
lock
11. 利用 AJAX 執行http delete mthod刪除購物車商品
19:51 -
lock
12. [補充] 用 React 改寫購物車頁面成單頁面應用(SPA)
29:44 -
lock
13. Routing 完整介紹(一) Redirect 重導向 301, 302, 307之間的差異
12:47 -
lock
14. Routing 完整介紹(二) Group, name, prefix, fallback 錯誤頁面與 subdomain
17:56 -
lock
15. Middleware (一) 註冊 Middleware 與幾種Middleware 的使用方式和錯誤使用示範
15:30 -
lock
16. Validation (一) request 參數驗證 基本的使用方式
13:04 -
lock
17. Validation (二) Regex驗證與使用注意事項, 建立客製化的rule
14:56 -
lock
18. Validation (三) 建立 Validator 與客製化行為
11:03 -
lock
19. File Storage (一) 基本介紹與圖片檔案上傳(含 php_fileinfo error 修正)
20:30 -
lock
20. File Storage (二) 刪除檔案與建立客製化Disk, 注意路徑字串組成
14:14 -
lock
21. Middleware (二) [練習] 實作驗證權限後才能下載檔案功能 (含 Creating Form Requests )
24:12
第五章 (總長7.7小時)
-
play_arrow
01. Laravel ORM 系統與資料庫章節介紹
04:17 -
play_arrow
02. [補充] 為什麼寫程式需要用資料庫(含基本示範)
15:05 -
lock
03. [Windows] 用官方安裝檔安裝MySQL
20:28 -
lock
04. [Mac] 用官方安裝檔安裝MySQL
14:43 -
lock
05. [Windows] 利用MySQLWorkbench 匯入與匯出備份資料庫(import, export SQL file)
21:35 -
lock
06. [Mac] 利用MySQLWorkbench 匯入與匯出備份資料庫(import, export SQL file)
28:35 -
lock
07. 簡介 Laravel 資料庫連線設定, 以SQLite 做測試
15:38 -
play_arrow
08. 切換至 MySQL Driver, 介紹 Migration 機制用途與rollback
21:29 -
lock
09. 建立 Products 資料表, 示範 Query Builder 插入資料與上傳圖檔
21:20 -
lock
10. 建立種子資料(seed)
11:30 -
lock
11. 完成 Product 頁面 CRUD 功能(使用Query builder)
19:23 -
lock
12. 修正上傳圖片問題(一), 驗證與 php.ini 設定
11:49 -
play_arrow
13. 實作上傳圖片前先預覽圖片功能
12:23 -
lock
14. 實作上傳圖片函式庫, 修正controller 細節
15:58 -
lock
15. 初探Eloquent, Query builder 與 Eloquent model 的差異
13:27 -
lock
16. 介紹 Eloquent find, create, insert, update, save, refresh的用途
24:41 -
lock
17. 加入Category 分類, 建立資料表關聯性
19:36 -
lock
18. Relationships(一) belongs_to 一對多與 預設值
17:43 -
lock
19. Relationships(二) has_many(one to many)多對一與分類過濾器
15:25 -
lock
20. 整理Migration, 修改資料表需要注意的事情
15:59 -
lock
21. Releationship(三) has_one (one to one) 介紹, belongs_to 與 has_one 該如何區分使用方式
09:32 -
lock
22. Releationship(四) many to many 多對多介紹, 使用多對多的邏輯與注意事項
21:14 -
lock
23. Releationship(五) 進階多對多議題, 過濾, 排序與 pivot 的使用邏輯
27:24 -
lock
24. 利用關聯性實作 Category 麵包屑
14:40 -
lock
25. 利用 parent Category 遞迴(recursion)找尋所有關聯商品
07:45 -
lock
26. 修改架構到 Category 與 Subcategory 概念, 解決預設值與 Migration 問題
22:44 -
lock
27. Releationship(六) 遠程一對多 has many through 與 遠程一對一 has one through
11:01 -
lock
28. Tinker 使用介紹, 利用 connection Querylog 來除錯SQL語法
06:27
第六章 (總長3.1小時)
-
play_arrow
01. 安裝使用者系統 laravel breeze, laravel ui 還可以使用嗎
10:51 -
play_arrow
02. [補充] 認證方式(Authentication)與授權(Authorization)之間的差異
06:09 -
lock
03. 設定smtp Email 寄送, outlook, gmail, AWS SES 與自己的Domain name 使用介紹
17:21 -
lock
04. 前台與後台 Controller 管理規劃介紹
10:11 -
lock
05. 建立空白首頁與管理頁面, 加入使用者登入註冊連結與初探使用者管理
14:47 -
lock
06. User 資料表欄位詳解, 講述每個欄位代表的用途與它隱含的意義
18:28 -
lock
07. 自製使用者系統來學習(一), 建立 Model Member
11:04 -
lock
08. Session概念與Session基本操作
16:10 -
lock
09. 自製使用者系統來學習(二), 建立自制函式庫執行, 全域Member 判斷機制與重導向
14:35 -
lock
10. 自製使用者系統來學習(三), 利用 Hashing 雜湊與 encryption decription 加解密來增加系統安全度
24:19 -
lock
11. 初探 Authentication, 打開 user email confirmation 與介紹 auth.php
15:29 -
lock
12. 利用 is_admin 建立簡易權限, 注意隱藏的安全漏洞
12:44 -
lock
13. 用最少的步驟建立, 自訂的auth.php 的 guard
11:11
第七章 (總長7.2小時)
-
lock
01. 將現有資料表轉換為 EER Model 方便講解
05:58 -
lock
02. [補充] EER Model 與 SQL 檔案互相轉換
07:54 -
lock
03. 購物車資料庫結構建立與講解
27:59 -
lock
04. blade components 與語系翻譯簡介
16:39 -
lock
05. 購物網站的外觀選擇與 tailwindcss 介紹
11:31 -
lock
06. 加入 Nav bar, 利用權限影響顯示
09:25 -
lock
07. 加入後台功能連結, 建立獨立後台樣板
16:53 -
lock
08. 加入後台功能(一), 完成 brand 控制面板, validate unique 與 count 的細節注意
18:25 -
lock
09. 加入後台功能(二), 加入 UI css, 美化 Brand 控制面板
13:13 -
lock
10. 加入後台功能(三), 完成 Category 與 Subcategory 控制面板
25:01 -
lock
11. 加入後台功能(四), 加入商品後台上架功能
29:04 -
lock
12. 加入後台功能(五), 加入類似 Enum資料庫欄位, 使用seeder 種子資料幫助開發
19:28 -
lock
13. 加入後台功能(六), 加入Product option, 完成售台商品上架功能
30:14 -
lock
14. 加入前台功能(一), 基本切版, 加入測欄顯示品牌與種類
13:47 -
lock
15. 加入前台功能(二), 加入商品列表, 商品展示頁與相關商品
20:31 -
lock
16. 加入前台功能(三), 加入Cookie 購物車功能
30:47 -
lock
17. 加入前台功能(四), 加入資料庫購物車功能與同步Cookie購物車
17:11 -
lock
18. 加入前台功能(五), 建立登入重導向控制, 加入空白結帳頁面
07:11 -
lock
19. 加入前台功能(六), 建立訂單, 介紹 DB transaction 用途
12:23 -
lock
20. 加入前台功能(七), 加入訂單列表與訂單顯示頁面
10:46 -
play_arrow
21. [金流] 國內外金流服務介紹與注意事項
13:16 -
lock
22. [金流] 藍新金流串接邏輯與註冊測試帳號
19:24 -
lock
23. [金流] 產生藍新金流付款頁面
24:15 -
lock
24. [金流] 完成藍新金流訂單狀態更新
28:21
第八章 (總長3.5小時)
-
play_arrow
01. Laravel 雲端架設章節介紹
02:22 -
play_arrow
02. [補充] 在Vultr VPS上架設Ubuntu Linux 主機 (免費100美金額度)
26:10 -
play_arrow
03. [補充] 在Linode上架設Linux(Ubuntu)
17:01 -
lock
04. 初始化ubuntu, 建立sudo 使用者與swap
12:28 -
lock
05. 在Ubuntu Linux利用 Nginx 與 php-fpm 部屬 Laravel 應用程式
15:50 -
lock
06. [補充]在Ubuntu Linux利用 Apache 與 libapache2-mod-php 部屬 Laravel 應用程式
24:40 -
lock
07. 上傳既有專案到遠端VPS Linux 的幾種方式, 解決 Routing 404 問題
11:41 -
lock
08. [Linux] 在 Ubuntu 上安裝 MySQL 8, 讓root可以用帳號登入與建立新使用者
10:40 -
lock
09. 完成 Laravel 專案部屬與正式站台的基本注意事項
10:34 -
play_arrow
10. [補充] 使用 heroku 免費帳號架設 Laravel 專案
18:17 -
lock
11. [補充] 解決 heroku postgresql資料庫, nodejs, mixed content error 問題
10:38 -
lock
12. [補充][不推薦] 使用 Web hosting 架設 Laravel 網站(一), 上傳專案與設定 .htaccess
13:05 -
lock
13. [補充][不推薦] 使用 Web hosting 架設 Laravel 網站(二), 連接資料庫與 utf8mb4 index長度問題.htaccess
14:50 -
lock
14. [補充][不推薦] Web Hosting 虛擬主機購買與網域綁定 - 以 Bluehost 為例
16:54 -
lock
15. [補充][不推薦] 要求 Bluehost 打開 ssh 連線
02:56 -
lock
16. [Windows] 利用 WinSCP 使用sftp 於主機上傳下載檔案
04:00
第九章 (總長3.8小時)
-
lock
01. 非同步與排程章節介紹
13:22 -
lock
02. Email設定與客製化(一), 基本信件寄送設定與內容調整
17:42 -
lock
03. Email設定與客製化(二), 加入附檔與圖片, 其他有用的功能介紹
18:03 -
lock
04. Queue講解與實作(一), 電腦系統 Process, IPC, Worker, Job 邏輯講解
17:24 -
lock
05. Queue講解與實作(二), 建立 job 與多組 queue 進行測試, Email 非同步寄送
17:17 -
lock
06. Queue講解與實作(三), connection, retry, exception, release 與 failed 介紹
20:23 -
lock
07. [Linux] Queue講解與實作(四), 在正式站台建立執行 Queue 的環境, 詳細解說 supervisor 使用與 Linux process 基本管理原理
33:53 -
lock
08. Queue講解與實作(五), listen, closure, 優先權, 記憶體管理與重試, queue.php 與 supervisoer策略
28:38 -
lock
09. 撰寫自製 Artisan 指令, 詳細介紹參數邏輯
27:03 -
lock
10. [Linux] Task Scheduling 排程(一) Laravel 排程與CronTab設定, 系統時間顆粒度概念解說
16:46 -
lock
11. Task Scheduling 排程(二), Queue Job 混和運用與其他功能解說
20:15
第十章 (總長3.5小時)
-
play_arrow
01. Web API 章節介紹與簡易前後端分離網站實作
08:14 -
lock
02. Web API 是什麼, 為何我們要使用 Web API
26:54 -
lock
03. [補充] 利用 Postman 來測試Web API, 介紹與基本使用說明
09:49 -
lock
04. JSON 基本介紹, 使用原生 PHP 方式組成JSON 回傳值
16:44 -
lock
05. 利用 JsonResource 與 ResourceCollection 整理API 回傳值
17:41 -
lock
06. JsonResource 加入 relationship 顯示關聯性資料, 解決關聯性無窮迴圈問題
17:19 -
lock
07. 初探 http request 與 response header 的用途與示範
19:13 -
lock
08. 介紹 Access-Control-Allow-Origin (CORS) 議題與解決方案示範
15:05 -
lock
09. 建立 Web API 版的商品 CRUD, 解決 404 not found 回傳為 html 問題
13:33 -
lock
10. 在 Web API 中 使用Validator 與 bearer token (含 Form request 客製化錯誤訊息)
10:07 -
lock
11. 利用 Basic auth 做使用者登入與其不足
16:36 -
lock
12. JWT 是什麼, 使用純 PHP 產生 JSON Web Tokens(JWT)
14:33 -
lock
13. 自製 JWT 登入, 驗證與登出系統
18:25 -
lock
14. 利用 Laravel 編譯前端分離站台, 加入 JWT 前端使用範例
07:55
第十一章 (總長2.4小時)
-
play_arrow
01. Saas 章節介紹, 建立提供返利功能的軟體及服務程式
03:33 -
lock
02. 建立第一個管理員使用者與三個層級範圍
10:02 -
lock
03. 初探與安裝 Jetsteam 使用者系統
11:26 -
lock
04. 打開 Jetsteam Email驗證與兩階段驗證功能, 介紹實作原理
17:27 -
lock
05. 完成使用者限制頁面權限
13:01 -
lock
06. 加入 Bootstrap 5 排版會員系統畫面
24:33 -
lock
07. 建立簡易的追蹤碼與追蹤紀錄(Tracking code and log)
13:04 -
lock
08. 建立 JavaScript 函式庫給其他網站使用
07:23 -
lock
09. 複習 CSS, Dashboard 純手刻切版
24:36 -
lock
10. 調整 Dashboard 樣板, css class 擺放策略
08:28 -
lock
11. 實現簡易版聯盟行銷功能(affiliate program)
11:50 - 章節尚未完全完結,我們會持續更新!!
第十二章 (總長0.7小時)
-
lock
01. [Windows] 重設 MySQL管理員 Root 密碼(忘記root admin 密碼)
07:42 -
lock
02. [Mac] 重設 MySQL管理員 Root 密碼(忘記root admin 密碼)
06:53 -
lock
03. [補充] 建立與刪除資料庫, 簡單說明Character與Collation的選擇(Create Drop Database)
13:56 -
lock
04. [舊版] npm install, 初探 webpack 與 mix 指令 (Laravel 8.4 與 7))
12:02
課程講師
縱裕
iOS 工程師 / Ruby On Rails 網站工程師
現職為iOS 工程師,但同時也在鑽研網站技術並且建立多個網站。
曾協助多個新創公司,範圍包含網站前端到桌面應用程式倉存管理與電子機關互動。
從網站架設,手機APP到系統底層都有豐富的經驗。
擅長不同系統架構的整合與創新想法的實現。
經歷:
進度條 技術顧問
Digilog.tw 網站與倉庫後台程式架構設計與建置
Zooe 線上教學平台 網站架構設計與建置
HelloStudy 楓禾留遊學網 設計與建置
Funlock 放樂工作室真實密室逃脫遊戲 - 魔鏡迷城 電子機關設計與製作
iOS App - Rock Click 節拍器
Nexcom ARM韌體與軟體工程師
Insyde BIOS工程師