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)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例
在本篇文章里小編給大家分享了關(guān)于PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2019-01-01
CI框架(CodeIgniter)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)增刪改查操作總結(jié)
這篇文章主要介紹了CI框架(CodeIgniter)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)增刪改查操作,結(jié)合實(shí)例形式總結(jié)分析了CI框架針對(duì)mysql數(shù)據(jù)庫(kù)增刪改查操作的模型、控制器及視圖相關(guān)定義與使用技巧,需要的朋友可以參考下2018-05-05
laravel框架模型和數(shù)據(jù)庫(kù)基礎(chǔ)操作實(shí)例詳解
這篇文章主要介紹了laravel框架模型和數(shù)據(jù)庫(kù)基礎(chǔ)操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel框架模型的定義及數(shù)據(jù)庫(kù)的增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
談?wù)勀銓?duì)Zend SAPIs(Zend SAPI Internals)的理解
這篇文章主要介紹了談?wù)勀銓?duì)Zend SAPIs(Zend SAPI Internals)的理解的相關(guān)資料,需要的朋友可以參考下2015-11-11
關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹
DISCUZ是中國(guó)最常用的論壇,雖然他本身有通行證給大家連接,但實(shí)際上用戶的統(tǒng)一還是很不好,經(jīng)常要建立兩個(gè)用戶表,第一不利于注冊(cè)和管理,第二浪費(fèi)數(shù)據(jù)庫(kù)。2008-10-10
如何把php5.3版本升級(jí)到php5.4或者php5.5
這篇文章主要介紹了如何把php5.3升級(jí)到php5.4或者php5.5,需要的朋友可以參考下2015-07-07
destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作,需要的朋友可以參考下2014-06-06
php 解決舊系統(tǒng) 查出所有數(shù)據(jù)分頁(yè)的類(lèi)
不同之處在于 沒(méi)有實(shí)現(xiàn)分頁(yè)的系統(tǒng), 默認(rèn)全部查出來(lái) 現(xiàn)在就要不能動(dòng)后臺(tái)的基礎(chǔ)上進(jìn)行操作 可以采用 相應(yīng)的 如下 代碼2012-08-08
解決laravel(5.5)訪問(wèn)public報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決laravel(5.5)訪問(wèn)public報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10

