亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Laravel中如何重寫資源路由自定義URL

發布時間:2021-07-08 09:03:18 來源:億速云 閱讀:429 作者:小新 欄目:開發技術

這篇文章主要介紹了Laravel中如何重寫資源路由自定義URL,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

重寫原因

近期在使用Laravel開發項目過程中,為了簡化路由代碼使用了Laravel的資源路由,Route::resource('photo', 'PhotoController');

在默認情況下,Laravel生成的路由表如下:

動作路徑Action路由名稱
GET/photoindexphoto.index
GET/photo/createcreatephoto.create
POST/photostorephoto.store
GET/photo/{photo}showphoto.show
GET/photo/{photo}/editeditphoto.edit
PUT/PATCH/photo/{photo}updatephoto.update
DELETE/photo/{photo}destroyphoto.destroy

為了滿足項目需求,需將/photo/{photo}/edit 路徑改為 /photo/edit/{photo}

實現步驟

查詢了Laravel源碼,發現此路徑生成的方法在Illuminate\Routing\ResourceRegistrar.php類中,我們需重寫此類的addResourceEdit方法即可。

重寫addResourceEdit方法

創建新類 \App\Routing\ResourceRegistrar.php,代碼如下:

namespace App\Routing;

use Illuminate\Routing\ResourceRegistrar as OriginalRegistrar;
class ResourceRegistrar extends OriginalRegistrar
{
 /**
  * Add the edit method for a resourceful route.
  *
  * @param string $name
  * @param string $base
  * @param string $controller
  * @param array $options
  * @return \Illuminate\Routing\Route
  */
 protected function addResourceEdit($name, $base, $controller, $options)
 {
  $uri = $this->getResourceUri($name).'/'.static::$verbs['edit'].'/{'.$base.'}';

  $action = $this->getResourceAction($name, $controller, 'edit', $options);

  return $this->router->get($uri, $action);
 }
}

在AppServiceProvider中注冊這個類

public function boot()
 {
  //重寫資源路由
  $registrar = new \App\Routing\ResourceRegistrar($this->app['router']);
  $this->app->bind('Illuminate\Routing\ResourceRegistrar', function () use ($registrar) {
   return $registrar;
  });
 }

最后使用Route::resource('photo', 'PhotoController');生成的路由就滿足需求了。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel中如何重寫資源路由自定義URL”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

积石山| 白河县| 色达县| 荣昌县| 宁德市| 甘肃省| 海安县| 永春县| 淮南市| 古田县| 沐川县| 宜黄县| 开原市| 青铜峡市| 天水市| 治多县| 岑巩县| 安化县| 绥宁县| 长子县| 松潘县| 杭锦后旗| 茂名市| 社旗县| 常山县| 太谷县| 江口县| 辽阳县| 牙克石市| 临湘市| 新津县| 麦盖提县| 昭苏县| 射阳县| 荆州市| 达州市| 望谟县| 重庆市| 甘孜县| 神木县| 凤凰县|