Tobey
• 工作: 菜鳥 網站程式設計師
• 目前是 Backend ,正朝向 Full Stack  邁進
• Laragirls :志工
不是熱血的那種,
是相信科技可以讓世界更美好,
於是開始學習。
Tobey
單純的只是想解決問題,卻意外開 了程式之旅。啟
工作經歷
行銷企劃助理
行銷企劃
初階工程師
後端工程師
後端工程師 ...
等等
為什麼要 這?你 說
20190327 laragirls meetup presentation (Laravel Request Lifecycle, Laravel permission)
為什麼
參加 Laragirls
?
初次來
到貴寶地
因為知道轉職的辛苦,
當初知道有 laragirls 的時候,
就有想要當志工的想法
助其他人的感覺,幫
就好像 ... 助當初的自己幫
~有這種社群?咦
搭 !訕她
是維尼大大她 啊
原來
我也可以當志工
LaraGirls 成立於 2018 年年初,致力
於推廣 Laravel 的女性學習社群。
建立一個讓女性開發者可以進行同儕學
習的美好程式社群。
2018
其實 ...
沒人想聽 的小故事你
20190327 laragirls meetup presentation (Laravel Request Lifecycle, Laravel permission)
發出請求給網站
Laragirls 網站發出請求 收到回應
這邊發生什麼事了?
Laragirls 網站
Route
Control
ler
View
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 找到 view
5. Response
1
2
34
5
別騙我
沒抓資料你 啊
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Laravel
資料夾結構
找出以下資料夾
•Route
•Controller
•Model ( 沒有資料夾 )
•View
Model
跟著 Laragirls 官網的
「最新消息」程式碼
來 一次請求生命週期跑 吧
人家有 好 ?說 嗎
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Route 案位置:檔 Laragirls/routes/web.php
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Controller
案位置:檔
Laragirls/app/Http/Controllers/NewsController.php
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Model 案位置:檔 Laragirls/app/News.php
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Controller
案位置:檔
Laragirls/app/Http/Controllers/NewsController.php
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
View
案位置:檔
Laragirls/resources/views/news/index.blade.php
Request
Lifecycle
• 瞭解它是如何運作的,你會更有信心去開發應
用程式
• 程式出錯時,能 判斷從 裡夠 哪 debug
例如,畫面顯示的資料有錯誤時
• 若你目前還無法瞭解所有的內容,不要灰心!
只要試著對現在提到的東西有基本的掌握,你的
知識將會隨著越了解框架而成長。
了解請求生命週期的好處
大家
還在人世 ?嗎
Laragirls 官網 新需求來了~
「權限管理」
我想要~
系統管理員:可以管全部功能
一般管理員:只能管最新消息
權限管理
• 一般指根據系統設置的安全規則或者安全策
略,用戶可以訪問而且只能訪問自己被授權的
資源。
• 基於角色控制訪問
什麼是權限管理
權限和角色概述 使用者使用者
角色角色
權限權限
擁有的權限
被賦予角色
• 使用者
被賦予「系統管理員」角色
系統管理員角色
擁有管理所有功能的權限
• 使用者
被賦予「一般管理員」角色
一般管理員角色
擁有管理最新消息功能的權限
講這麼多
要怎麼驗證?啊
Middleware (中介層)
登場!
中介層
• 一個請求都會經過 一個中介層,然後進入每 每
程式,之後 生的回應會經過中介層,一路回產
到使用者
• 中介層類型 (Before & After
Middleware)
1. 在請求前執行
2.在請求後才執行
執行時機取決於中介層本身。
Middleware
發出請求給網站
Laragirls 網站發出請求 收到回應
Middleware 中介層
Laragirls 網站發出請求 收到回應
AppApp
Middleware
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
M
M
Before
After
Laravel Request Lifecycle
Application :
Controllers,
Models,
Views, etc.
RequestRequest RouteRoute
Before
Middleware
 
Before
Middleware
 
AppApp
After
Middleware
 
After
Middleware
 
Respons
e
Respons
e
Route
Control
ler
View
Model 資料庫
Laravel
請求生命週期
1. User 發出 Request
2. Request 會被交给 Route 分發
3. Route 分發給 Controller
4. Controller 跟 Model 要資料
5. Model 跟資料庫要資料
6. 資料庫給 Model 資料
7. Model 給 Controller 資料
8. 找到 View 結合資料
9. Response
1
2
3
4
5
6
7
9
8
M
M
Before
After
來~
站在巨人的肩膀上
使用套件!
權限套件
• User-Role-Permission 的架構
• laravel news 推薦
• 安裝 composer require spatie/laravel-
permission
詳細安裝方式,請至 GitHub spatie/laravel-permission
註冊
Middleware
案位置:檔 Laragirls/app/Http/Kernel.php
使用
Middleware
案位置:檔
Laragirls/app/Http/Controllers/ 後台 /NewsController.php
好棒棒
完成任務了
Thank you

More Related Content

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
選一個框架當好朋友,讓您成為開心攻城獅
PDF
2024 State of Marketing Report – by Hubspot
PDF
Everything You Need To Know About ChatGPT
PDF
Product Design Trends in 2024 | Teenage Engineerings
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
2024 Trend Updates: What Really Works In SEO & Content Marketing
選一個框架當好朋友,讓您成為開心攻城獅
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Ad

20190327 laragirls meetup presentation (Laravel Request Lifecycle, Laravel permission)