Laravel5.1框架路由分組用法實(shí)例分析
本文實(shí)例講述了Laravel5.1框架路由分組用法。分享給大家供大家參考,具體如下:
路由分組有啥好處?
有時(shí)候啊 一大堆路由它們都有共同的地方,比如都使用一個(gè)中間件(過(guò)兩天寫(xiě))或是前綴都一樣,避免代碼重復(fù) 我們可以將他們分到一組中。
1 路由分組可以共享哪些屬性?
- 中間件 middleware。
- 控制器的命名空間 namespace。
- 子域名 domain
- 路由前綴
1.1 中間件
關(guān)于中間件大K還沒(méi)有寫(xiě)筆記介紹,這里先簡(jiǎn)單說(shuō)下 中間件就是接收到請(qǐng)求后驗(yàn)證一些東西或相應(yīng)后驗(yàn)證一些東西,比如Laravel自帶的Auth中間件 就是驗(yàn)證用戶有沒(méi)有登錄進(jìn)來(lái),如果用戶沒(méi)用登錄,那么就會(huì)自動(dòng)跳轉(zhuǎn)到登錄頁(yè)面,我們完全不用實(shí)現(xiàn)這一方面的邏輯。
好啦 回歸正題,咱一塊兒看看路由分組咋寫(xiě):
/** * 這就是一個(gè)路由分組 /user和/user/profile都將使用auth中間件。 */ Route::group(['middleware' => 'auth'], function (){ Route::get('/user', function (){ }); Route::get('/user/profile', function (){ }); });
1.2 路由前綴
/** * 路由前綴呢 就是講此分組中的所有路由路徑前加個(gè)前綴 */ Route::group(['prefix' => 'admin'], function (){ /** * 路由分組是可以嵌套的哦 */ Route::group(['middleware' => 'auth'], function (){ /** * 這條路由不僅使用auth中間件,而且還加了admin前綴,我們通過(guò)/admin/user才能訪問(wèn) */ Route::get('/user', function (){ }); Route::get('/user/profile', function (){ }); }); /** * 訪問(wèn)路徑是:/admin */ Route::get('/', function (){ });; });
1.3 子域名
/** * 比如我們可以輸入larger來(lái)訪問(wèn)路由,在子路由中可以通過(guò)參數(shù)來(lái)把larger取到。 */ Route::group(['domain' => '{account}.myapp.com'], function () { Route::get('user/{id}', function ($account, $id) { // }); });
注意:如果想測(cè)試子域名你需要使用homestand來(lái)設(shè)置你的域名。
1.4 命名空間
這又是一個(gè)沒(méi)寫(xiě)的點(diǎn) 這里包含控制器的內(nèi)容,先看例子吧 明天就學(xué)控制器了 倒時(shí)候做筆記。
/** * 只要指明了命名空間,那么在子路由中所使用的所有控制器都位于App\Http\Controller\Admin這個(gè)命名空間下。 */ Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function(){ /** * 其實(shí)HomeController在App\Http\Controller\Admin這個(gè)命名空間下。 */ Route::get('/', 'HomeController@index'); });
1.5 分組命名
補(bǔ)充一點(diǎn),前一篇的基礎(chǔ)文章我們學(xué)了給路由命名,那么分組可不可以命名呢,Yo Man。。當(dāng)然可以:
/** * 跟普通路由一樣 也是用as來(lái)命名但是首字母最好大寫(xiě)后面跟倆冒號(hào) 代表它是一個(gè)分組 如果這樣寫(xiě) 我們就可以通過(guò) route('Admin::index')方式來(lái)找到它了 */ Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'Admin::'], function(){ Route::get('/', ['as' => 'index','uses' => 'HomeController@index']); });
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP開(kāi)啟目錄引索+fancyindex漂亮目錄瀏覽帶搜索功能
這篇文章主要介紹了PHP開(kāi)啟目錄引索+fancyindex漂亮目錄瀏覽帶搜索功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09php實(shí)現(xiàn)圖形顯示Ip地址的代碼及注釋
這篇文章主要介紹了php實(shí)現(xiàn)圖形顯示Ip地址,有需要的朋友可以參考一下2014-01-01PHP中使用匿名函數(shù)操作數(shù)據(jù)庫(kù)的例子
這篇文章主要介紹了PHP中使用匿名函數(shù)操作數(shù)據(jù)庫(kù)的例子,本文直接給出類的代碼、使用例子、繼承例子,需要的朋友可以參考下2014-11-11自己寫(xiě)的php curl庫(kù)實(shí)現(xiàn)整站克隆功能
這篇文章主要介紹了自己寫(xiě)的php curl庫(kù)實(shí)現(xiàn)整站克隆功能,本文給出工具庫(kù)源碼下載和使用示例,需要的朋友可以參考下2015-02-02PHP+Mysql+jQuery實(shí)現(xiàn)發(fā)布微博程序 php篇
這篇文章主要介紹了PHP+Mysql+jQuery實(shí)現(xiàn)發(fā)布微博程序,重要介紹后臺(tái)是如何處理前臺(tái)提交的數(shù)據(jù),并返回結(jié)果的,需要的朋友可以參考下2015-10-10Thinkphp實(shí)現(xiàn)站點(diǎn)靜態(tài)化的方法詳解
本篇文章主要介紹了Thinkphp實(shí)現(xiàn)站點(diǎn)靜態(tài)化的方法,thinkphp提供了一個(gè)有效的生成靜態(tài)頁(yè)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03