91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

岳阳县| 光山县| 邢台市| 从江县| 敦煌市| 新绛县| 札达县| 宁波市| 鹤庆县| 达孜县| 兴安盟| 大姚县| 新竹市| 潞西市| 云梦县| 铁力市| 北辰区| 称多县| 武胜县| 宁化县| 西丰县| 涿鹿县| 博客| 铅山县| 汾西县| 德格县| 台前县| 泾阳县| 云和县| 白河县| 星座| 顺平县| 岱山县| 丹阳市| 隆昌县| 弥勒县| 永仁县| 阳高县| 新营市| 运城市| 延川县|