


Detailed explanation of how to rewrite resource routing in Laravel
How to rewrite resource routing in Laravel? This article mainly introduces you to the implementation method of rewriting resource routing custom URL in Laravel. Friends in need can refer to it. I hope to be helpful.
Preface
This article mainly introduces the relevant content about rewriting resource routing custom URLs in Laravel, and shares it for your reference. Study, not much to say below, let’s take a look at the detailed introduction:
Reason for rewriting
Recently used During the Laravel development project, Laravel's resource routing was used in order to simplify the routing code. Route::resource('photo', 'PhotoController');
By default , the routing table generated by Laravel is as follows:
Path | Action | Route Name | |
---|---|---|---|
/photo | index | photo.index | |
/photo/create | create | photo.create | |
/photo | store | photo.store | |
/photo/{photo} | show | photo.show | |
/photo/{photo}/edit | edit | photo.edit | |
/photo/{photo} | update | photo.update | |
/photo/{photo} | destroy | photo.destroy |
##Implementation steps
After querying the Laravel source code, we found that the method generated by this path is in the Illuminate\Routing\ResourceRegistrar.php class. We need to override the addResourceEdit method of this class.
Create a new class \App\Routing\ResourceRegistrar.php with the following code:
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); } }
The generated route will meet the needs.
Laravel optimized split routing file laravel writing APP interface (API) The above is the detailed content of Detailed explanation of how to rewrite resource routing in Laravel. For more information, please follow other related articles on the PHP Chinese website!public function boot()
{
//重写资源路由
$registrar = new \App\Routing\ResourceRegistrar($this->app['router']);
$this->app->bind('Illuminate\Routing\ResourceRegistrar', function () use ($registrar) {
return $registrar;
});
}

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Method for obtaining the return code when Laravel email sending fails. When using Laravel to develop applications, you often encounter situations where you need to send verification codes. And in reality...

Laravel schedule task run unresponsive troubleshooting When using Laravel's schedule task scheduling, many developers will encounter this problem: schedule:run...

The method of handling Laravel's email failure to send verification code is to use Laravel...

How to implement the table function of custom click to add data in dcatadmin (laravel-admin) When using dcat...

The impact of sharing of Redis connections in Laravel framework and select methods When using Laravel framework and Redis, developers may encounter a problem: through configuration...

LaravelEloquent Model Retrieval: Easily obtaining database data EloquentORM provides a concise and easy-to-understand way to operate the database. This article will introduce various Eloquent model search techniques in detail to help you obtain data from the database efficiently. 1. Get all records. Use the all() method to get all records in the database table: useApp\Models\Post;$posts=Post::all(); This will return a collection. You can access data using foreach loop or other collection methods: foreach($postsas$post){echo$post->

Custom tenant database connection in Laravel multi-tenant extension package stancl/tenancy When building multi-tenant applications using Laravel multi-tenant extension package stancl/tenancy,...

Efficiently process 7 million records and create interactive maps with geospatial technology. This article explores how to efficiently process over 7 million records using Laravel and MySQL and convert them into interactive map visualizations. Initial challenge project requirements: Extract valuable insights using 7 million records in MySQL database. Many people first consider programming languages, but ignore the database itself: Can it meet the needs? Is data migration or structural adjustment required? Can MySQL withstand such a large data load? Preliminary analysis: Key filters and properties need to be identified. After analysis, it was found that only a few attributes were related to the solution. We verified the feasibility of the filter and set some restrictions to optimize the search. Map search based on city
