成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel思維導(dǎo)圖之Laravel HTTP路由、中間件、控制器

linkin / 2789人閱讀

摘要:又限于層的內(nèi)容太多,我在這篇中將整理路由中間件控制器部分內(nèi)容。前者定義頁面路由,默認(rèn)應(yīng)用中間件組后者定義無狀態(tài)路由,會應(yīng)用中間件組。命名路由可以為指定路由或者控制器方法命名,也可以為已命名的路由生成。

上圖列出了 Laravel HTTP 層的相關(guān)知識大綱。由于目前自己的工作中網(wǎng)頁、App、小程序等都采用前后臺分離的方式實現(xiàn),前端頁面通過接口從后端獲取數(shù)據(jù)并自己渲染,因此大綱中的 Session、視圖、CSRF 保護幾個部分將不做整理。又限于 HTTP 層的內(nèi)容太多,我在這篇中將整理路由、中間件、控制器 3 部分內(nèi)容。在下一期里,再整理 HTTP 請求、響應(yīng)及表單驗證部分的內(nèi)容。

0x00 路由

基本路由

構(gòu)建最基本的路由只需要一個 URI 和一個閉包。所有的 Laravel 路由都在 routes 目錄中的路由文件中定義。Laravel 默認(rèn)提供 web.php 和 api.php 兩個路由文件。前者定義 web 頁面路由,默認(rèn)應(yīng)用 web 中間件組;后者定義無狀態(tài)路由,會應(yīng)用 api 中間件組。

Laravel 的 Route Facade 提供了 get, post, put, patch, delete, options, match, any 等路由方法來支持響應(yīng)單個、多個、所有的 HTTP 方法。

路由參數(shù)

Laravel 可以通過多種方式對路由參數(shù)的必選、可選及具體格式進行約束。

命名路由

Laravel 可以為指定路由或者控制器方法命名,也可以為已命名的路由生成 URL。

路由組

Laravel 的路由組允許共享路由屬性,常用的路由組包括中間件、命名空間、子域名路由和路由前綴。

路由模型綁定

Laravel 路由模型綁定提供了一個方便的方法自動將模型注入到路由中,可以隱式綁定,也可以顯式綁定。

隱式綁定時,默認(rèn)綁定 Eloquent 模型的 ID 字段。通過模型的 getRouteKeyName 方法可以自定義綁定鍵名。

顯式綁定則是使用路由的 model 方法來為已有參數(shù)聲明 class 。

0x01 路由中間件

Laravel 中間件提供了一種方便的機制來過濾進入應(yīng)用的 HTTP 請求。可以將中間件想象為一系列的「層」,HTTP 請求必須經(jīng)過它們才會觸發(fā)您的應(yīng)用程序。每一層都可以檢測接收的請求,甚至可以完全拒絕請求訪問您的應(yīng)用。

常見的中間件實例包括身份驗證中間件、日志中間件、 CSRF 中間件等。多個多帶帶的中間件還可以定義為中間件組。Laravel 帶有開箱即用的 web 和 api 中間件組。

0x02 控制器

控制器能夠?qū)⑾嚓P(guān)的請求處理邏輯組成一個多帶帶的類。是在路由文件中以閉包的形式定義所有的請求處理邏輯之外的另一種形式。

資源控制器

Laravel 資源路由可以將典型的 CRUD 路由指定到一個控制器上,僅僅需要一行代碼就可以實現(xiàn),這大大提高了后臺業(yè)務(wù)的開發(fā)效率。

以相片控制器為例,兩個步驟可以定義好處理所有應(yīng)用保存的相片 HTTP 請求的業(yè)務(wù)。

通過一行命令創(chuàng)建一個控制器

為這個控制器注冊一個資源路由

資源路由的聲明會創(chuàng)建的多個路由來處理各種各樣的資源操作,這些操作都包含在控制器中了。

除了提供默認(rèn)的操作外,可以根據(jù)需要對操作進行自定義。

可以只定義部分資源路由

可以重寫默認(rèn)的資源路由名稱

可以重寫資源路由的默認(rèn)參數(shù)名稱

可以實現(xiàn)資源 URI 的語言本地化

可以附加其他需要的資源控制器

依賴注入與控制器

Laravel 使用服務(wù)容器來解析所有的控制器??梢栽诳刂破鞯臉?gòu)造方法中對任何依賴使用類型約束,也可以在控制器方法中使用依賴類型約束。

下一步

在下一期中,我將整理 Laravel HTTP 請求、響應(yīng)及表單驗證的相關(guān)知識。這些是所有網(wǎng)絡(luò)應(yīng)用最重要的部分。

思維導(dǎo)圖在導(dǎo)出的過程中會變得模糊,如有需要高清的思維導(dǎo)圖源文件,請加微信公眾號:up2048,并回復(fù)“腦圖”來獲取。

- EOF -

推薦閱讀

Laravel思維導(dǎo)圖之Laravel核心概念

Laravel思維導(dǎo)圖之Laravel入門指南

十五張思維導(dǎo)圖帶你快速學(xué)習(xí)PHP言語基礎(chǔ)

我心目中的網(wǎng)絡(luò)接口設(shè)計到底是怎樣的過程?

多平臺統(tǒng)一用戶系統(tǒng)設(shè)計

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25735.html

相關(guān)文章

  • Laravel思維導(dǎo)圖之HTTP請求、響應(yīng)、表單驗證

    摘要:今天我來分享中層關(guān)于請求響應(yīng)與表單驗證的知識。手動創(chuàng)建驗證請求之前的內(nèi)容是直接使用的方法來實現(xiàn)表單驗證。下一步到這篇為止,我完成了入門指南核心概念層的路由中間件控制器請求響應(yīng)表單驗證的學(xué)習(xí)和整理。 showImg(https://segmentfault.com/img/remote/1460000010882838); 今天我來分享 Laravel 中 HTTP 層關(guān)于請求、響應(yīng)與表...

    lewif 評論0 收藏0
  • 記一次 Laravel 應(yīng)用性能調(diào)優(yōu)經(jīng)歷

    摘要:為了一探究竟,于是開啟了這次應(yīng)用性能調(diào)優(yōu)之旅。使用即時編譯器和都能輕輕松松的讓你的應(yīng)用程序在不用做任何修改的情況下,直接提高或者更高的性能。 這是一份事后的總結(jié)。在經(jīng)歷了調(diào)優(yōu)過程踩的很多坑之后,我們最終完善并實施了初步的性能測試方案,通過真實的測試數(shù)據(jù)歸納出了 Laravel 開發(fā)過程中的一些實踐技巧。 0x00 源起 最近有同事反饋 Laravel 寫的應(yīng)用程序響應(yīng)有點慢、20幾個并...

    warkiz 評論0 收藏0
  • Laravel思維導(dǎo)圖之Laravel核心概念

    摘要:的核心概念包括服務(wù)容器服務(wù)提供者門面契約。所有服務(wù)提供者都需要繼承類??梢詾榉?wù)提供者的方法設(shè)置類型提示。方法將在所有其他服務(wù)提供者均已注冊之后調(diào)用。同樣會整理成思維導(dǎo)圖的形式以方便記憶與回顧。 showImg(https://segmentfault.com/img/remote/1460000010771201); Laravel 的核心概念包括:服務(wù)容器、服務(wù)提供者、門面(Fac...

    wthee 評論0 收藏0
  • Laravel思維導(dǎo)圖之Laravel入門指南

    摘要:本系列思維導(dǎo)圖整理自版本官方文檔。思維導(dǎo)圖導(dǎo)出為圖片時會導(dǎo)致其變模糊。需要高清的思維導(dǎo)圖源文件,請關(guān)注微信公眾號,并回復(fù)精進腦圖來獲取。今天我們就通過張思維導(dǎo)圖來快速看入門指南。這些文章都將首發(fā)在微信公眾號上。 showImg(https://segmentfault.com/img/remote/1460000010774258); 本系列思維導(dǎo)圖整理自 Laravel 5.4 版...

    vibiu 評論0 收藏0
  • Laravel 5.0 的新特性

    摘要:原文譯文譯者包括超過個新特性。這個默認(rèn)命名空間可以很方便的使用命令更換為其他名字。事實上,對于負(fù)責(zé)的任務(wù),使用是非常好的方法。其它新特性正在翻譯中,您可以在關(guān)注最新的翻譯動態(tài) 原文: http://laravel.com/docs/master/releases#laravel-5.0 譯文: http://discuss.flarum.org.cn/24-laravel-5 譯者: ...

    qpal 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<