我覺得可以在接收知識的同時,先花一點點時間想像一下。
我之前工作是在行銷領域,大多接觸電商網站、會員系統,我剛開始在學習 Laravel 時,腦袋中會有一個簡單的系統雛形:
然後會有一個想法:我該怎麼用 Laravel 實現這個簡單的系統?
一切都還不是詳細規劃,而只是先大概想像而已!(因為我還不會用呀!)
而我正是帶著這樣的目的去認識 Laravel,同時也讓我稍微比較有畫面感,幫助我理解。
當時蠻喜歡這篇文章的介紹:五分鐘導覽與學習Laravel
我覺得這是我快速入門 Laravel 的基礎,歡迎大家可以優先點進文章看看。
這篇文章內容以「一個 Request 的生命之旅與一個空空的腦袋」為出發點,認識每個關鍵元件,也介紹 request 到 response 的過程,並對應到官方文件上:
在 request 進入到 index.php 時,例如:當我點開這個網站所呈現的首頁,Laravel 需要初始化整個應用程式,完成初始化後才會開始處理 request。
簡單來說,Laravel 會先初始化一個空的「腦袋」,然後在這個腦袋裡灌入所有處理請求需要的功能,像是路由、中介層、驗證等。等一切準備好後,Laravel 就能夠順利接收並處理各種來自使用者的請求了。
Laravel 其實是一個空空的腦袋,我喜歡作者這樣比喻。
有了基本的關係走向概念後,相信你會更加理解個別的關鍵元件!
因為透過這些關鍵元件,開發者能夠快速構建具有高效能和可擴展性的應用程式。
以下使用 GPT 整理一些我覺得需要重點優先理解的 Laravel 的關鍵元件及其簡單解釋:
路由(Routing)
路由是應用程式的入口,負責將使用者的 HTTP 請求(例如 GET 或 POST 請求)映射到特定的控制器方法或閉包函數。
簡單來說,路由可以決定哪個邏輯應該處理哪個請求。
中介層(Middleware)
負責處理請求的過濾器,在請求進入應用程式之前或回傳給使用者之前執行特定的邏輯。
例如:會員認證、CORS 設定等。
控制器(Controllers)
負責處理請求並回傳的地方。
通常會在控制器中執行商業邏輯,並與資料庫進行互動。
視圖(Views)
負責顯示資料給使用者的部分,例如:打開網站後首頁呈現的畫面。
Laravel 使用 Blade 模板引擎來簡化 HTML 模板的撰寫。
模型(Models)
負責與資料庫互動,並管理應用程式中的資料。
它通常代表一個資料表,並且使用 Eloquent ORM 來簡化資料庫操作。
服務提供者(Service Providers)
負責載入和註冊應用程式內所有服務的地方。
Laravel 的核心功能(如路由、視圖、認證)都是透過服務提供者來註冊的。
開發者也可以撰寫自己的 Service Provider 來擴展 Laravel。
事件與監聽器(Events and Listeners)
事件系統允許你定義應用程式內的關鍵行為,並根據事件的發生來執行相應的動作。
監聽器會監聽這些事件,並執行特定的邏輯。
Eloquent ORM
Eloquent 是 Laravel 的 ORM(物件關聯映射),它簡化了與資料庫的互動。
透過 Eloquent,開發者可以使用物件導向的方式來操作資料庫,而不需要寫 SQL 查詢語句。
驗證(Validation)
負責檢查使用者輸入的資料是否合理。
Laravel 提供了一個簡單且強大的驗證系統,能夠快速地對請求中的資料進行檢查。
昨天希望大家初步了解 Laravel 目錄結構,有了「這個檔案是在做什麼」的基礎概念,如果還是覺得剛開始看的時候很霧煞煞(菜雞仔如我,就是這樣唷!)
可以再搭配觀看以上內容。
另外,想像力就是你的超能力,「你想做出什麼」會成為你學習的動力跟續航力。
因為我最一開始漫無目的看介紹 Laravel 的影片很常睡著,根本都沒把大神們的講解吸收到我的腦袋裡,只有在夢裡(誤)
大家也可以先想看看,你會想用 Laravel 幫助你做出什麼功能?
這是我自己覺得能幫助我學習的方式,希望也能幫助到跟我有一樣困擾的小夥伴們。