本文實例講述了Laravel5.1框架路由分組用法。分享給大家供大家參考,具體如下:
路由分組有啥好處?
有時候啊 一大堆路由它們都有共同的地方,比如都使用一個中間件(過兩天寫)或是前綴都一樣,避免代碼重復(fù) 我們可以將他們分到一組中。
1 路由分組可以共享哪些屬性?
- 中間件 middleware。
- 控制器的命名空間 namespace。
- 子域名 domain
- 路由前綴
1.1 中間件
關(guān)于中間件大K還沒有寫筆記介紹,這里先簡單說下 中間件就是接收到請求后驗證一些東西或相應(yīng)后驗證一些東西,比如Laravel自帶的Auth中間件 就是驗證用戶有沒有登錄進(jìn)來,如果用戶沒用登錄,那么就會自動跳轉(zhuǎn)到登錄頁面,我們完全不用實現(xiàn)這一方面的邏輯。
好啦 回歸正題,咱一塊兒看看路由分組咋寫:
/**
* 這就是一個路由分組 /user和/user/profile都將使用auth中間件。
*/
Route::group(['middleware' => 'auth'], function (){
Route::get('/user', function (){
});
Route::get('/user/profile', function (){
});
});
1.2 路由前綴
/**
* 路由前綴呢 就是講此分組中的所有路由路徑前加個前綴
*/
Route::group(['prefix' => 'admin'], function (){
/**
* 路由分組是可以嵌套的哦
*/
Route::group(['middleware' => 'auth'], function (){
/**
* 這條路由不僅使用auth中間件,而且還加了admin前綴,我們通過/admin/user才能訪問
*/
Route::get('/user', function (){
});
Route::get('/user/profile', function (){
});
});
/**
* 訪問路徑是:/admin
*/
Route::get('/', function (){
});;
});
1.3 子域名
/**
* 比如我們可以輸入larger來訪問路由,在子路由中可以通過參數(shù)來把larger取到。
*/
Route::group(['domain' => '{account}.myapp.com'], function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
注意:如果想測試子域名你需要使用homestand來設(shè)置你的域名。
1.4 命名空間
這又是一個沒寫的點 這里包含控制器的內(nèi)容,先看例子吧 明天就學(xué)控制器了 倒時候做筆記。
/**
* 只要指明了命名空間,那么在子路由中所使用的所有控制器都位于App\Http\Controller\Admin這個命名空間下。
*/
Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function(){
/**
* 其實HomeController在App\Http\Controller\Admin這個命名空間下。
*/
Route::get('/', 'HomeController@index');
});
1.5 分組命名
補(bǔ)充一點,前一篇的基礎(chǔ)文章我們學(xué)了給路由命名,那么分組可不可以命名呢,Yo Man。。當(dāng)然可以:
/**
* 跟普通路由一樣 也是用as來命名但是首字母最好大寫后面跟倆冒號 代表它是一個分組 如果這樣寫 我們就可以通過 route('Admin::index')方式來找到它了
*/
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)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- 修改Laravel5.3中的路由文件與路徑
- Laravel最佳分割路由文件(routes.php)的方式
- Laravel5.1 框架路由基礎(chǔ)詳解
- Laravel 之url參數(shù),獲取路由參數(shù)的例子
- laravel實現(xiàn)前后臺路由分離的方法
- laravel框架的安裝與路由實例分析
- laravel5.1框架基礎(chǔ)之路由詳解
- Laravel框架創(chuàng)建路由的方法詳解
- 淺談一種Laravel路由文件劃分方式