成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

linkin / 2893人閱讀

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

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

0x00 路由

基本路由

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

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

路由參數(shù)

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

命名路由

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

路由組

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

路由模型綁定

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

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

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

0x01 路由中間件

Laravel 中間件提供了一種方便的機(jī)制來(lái)過(guò)濾進(jìn)入應(yīng)用的 HTTP 請(qǐng)求??梢詫⒅虚g件想象為一系列的「層」,HTTP 請(qǐng)求必須經(jīng)過(guò)它們才會(huì)觸發(fā)您的應(yīng)用程序。每一層都可以檢測(cè)接收的請(qǐng)求,甚至可以完全拒絕請(qǐng)求訪問(wèn)您的應(yīng)用。

常見(jiàn)的中間件實(shí)例包括身份驗(yàn)證中間件、日志中間件、 CSRF 中間件等。多個(gè)多帶帶的中間件還可以定義為中間件組。Laravel 帶有開(kāi)箱即用的 web 和 api 中間件組。

0x02 控制器

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

資源控制器

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

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

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

為這個(gè)控制器注冊(cè)一個(gè)資源路由

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

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

可以只定義部分資源路由

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

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

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

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

依賴注入與控制器

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

下一步

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

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

- EOF -

推薦閱讀

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

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/25735.html

相關(guān)文章

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

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

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

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

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

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

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

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

    vibiu 評(píng)論0 收藏0
  • Laravel 5.0 的新特性

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

    qpal 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<