溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Laravel5.1框架怎么實現(xiàn)路由分組

發(fā)布時間:2021-04-13 16:00:09 來源:億速云 閱讀:132 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹使用Laravel5.1框架怎么實現(xiàn)路由分組,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1 路由分組可以共享哪些屬性?

  • 中間件 middleware。

  • 控制器的命名空間 namespace。

  • 子域名 domain

  • 路由前綴

1.1 中間件

關(guān)于中間件大K還沒有寫筆記介紹,這里先簡單說下 中間件就是接收到請求后驗證一些東西或相應(yīng)后驗證一些東西,比如Laravel自帶的Auth中間件 就是驗證用戶有沒有登錄進來,如果用戶沒用登錄,那么就會自動跳轉(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 分組命名

補充一點,前一篇的基礎(chǔ)文章我們學(xué)了給路由命名,那么分組可不可以命名呢,Yo Man。。當然可以:

/**
 * 跟普通路由一樣 也是用as來命名但是首字母最好大寫后面跟倆冒號 代表它是一個分組 如果這樣寫 我們就可以通過 route('Admin::index')方式來找到它了
 */
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'Admin::'], function(){
  Route::get('/', ['as' => 'index','uses' => 'HomeController@index']);
});

關(guān)于使用Laravel5.1框架怎么實現(xiàn)路由分組就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI