laravel不是aop;aop是“Aspect Oriented Programming”的縮寫,意為面向切面編程,是通過預(yù)編譯方式和運行期間動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術(shù),而laravel不是面向切片編程,laravel中間件提供了一種方便的機制來檢查和過濾進入應(yīng)用程序的http請求是aop。
本文操作環(huán)境:Windows10系統(tǒng)、Laravel9版、Dell G3電腦。
laravel是aop嗎
AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過預(yù)編譯方式和運行期間動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術(shù)。
AOP是OOP的延續(xù),是軟件開發(fā)中的一個熱點,也是laravel框架中的一個重要內(nèi)容,是函數(shù)式編程的一種衍生范型。利用AOP可以對業(yè)務(wù)邏輯的各個部分進行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時提高了開發(fā)的效率。
laravel的中間件就是一個aop。
其實很簡單,你可以把每一個if(判斷)封裝成一個中間件(就是一個類),
然后在Route的時候middleware分配的去調(diào)用每中間件(類)。
這樣做的好處是,本來2個控制器有相同的if判斷,現(xiàn)在只要寫一個,然后路由分配。
如果把每個if都寫成中間件,那么controller將沒有一行if了。
laravel中間件
laravel中間件提供了一種方便的機制來檢查和過濾進入應(yīng)用程序的 HTTP 請求。例如,Laravel 包含一個中間件,用于驗證您的應(yīng)用程序的用戶是否已通過身份驗證。如果用戶未通過身份驗證,中間件會將用戶重定向到您的應(yīng)用程序的登錄屏幕。但是,如果用戶通過了身份驗證,中間件將允許請求進一步進入應(yīng)用程序。
可以編寫額外的中間件來執(zhí)行除身份驗證之外的各種任務(wù)。例如,日志中間件可能會記錄對您的應(yīng)用程序的所有傳入請求。Laravel框架中包含了幾個中間件,包括用于身份驗證和 csrf 保護的中間件。所有這些中間件都位于app/Http/Middleware目錄中。
【相關(guān)推薦:laravel視頻教程】