Routing - Laravel 7/8 Routing Example

Websolutionstuff | Nov-01-2020 | Categories : Laravel

In this article, we will give you information about the basic route, named route, and advanced route in laravel 7 and laravel 8.

Routing is a basic and important component of the laravel framework, All laravel routes are determined in the file located as the app/Http/routes.php file, here I will show you routing - laravel 7/8 routing example and how to create routes in laravel. Also, we will see the laravel routing parameter with an example.

Basic Routing

 

Route::get('test', function () {
	    return 'This is Test Route';
	});

 

The Default Route Files

All laravel routes are defined in your route files, which are located in the "routes" Folder. And in this route folder laravel gives different files like api.php, web.php, etc.

 

 

Example of Laravel 8 Route

 

use App\Http\Controllers\UserController;

	Route::get('/test', [TestController::class, 'index']);

 

In Laravel Available Basic Route Methods

 

Route::get($url, $callback);
Route::post($url, $callback);
Route::put($url, $callback);
Route::patch($url, $callback);
Route::delete($url, $callback);
Route::options($url, $callback);

 

Laravel Route Match and Any Methods

 

Route::match(['get', 'post'], '/', function () {
	    //
	});

	Route::any('/', function () {
	    //
	});

 

Laravel Redirect Routes Example

Laravel provides default redirection of any URL. If you want to redirect to another URL you may use the laravel "Route::redirect" method.

Example of Laravel Route::redirect

Route::redirect('/create', '/index');

 Laravel Also provides a redirect route with a status code but the status code is an optional parameter.

Route::redirect('/create', '/index', 301);

 

 

Laravel View Routes Example

If your route only needs to return a view, you may use the "Route::view" method.

Route::view('/index', 'index');

Route::view('/welcome', 'welcome', ['name' => 'name']);

 

Laravel Named Routes Example

 

Route::get('user/profile', function () {
    	//
	})->name('profile');

Route::get('user/profile', [UserController::class, 'index'])->name('profile');

 

Middleware 

Assign middleware to all routes within a group using the "middleware" method before defining the group.

Route::middleware(['role'])->group(function () {
	    Route::get('user/profile', function () {
		// Uses role middleware...
	    });
	});

 

 

Route Prefixes

The prefixes method is used to prefix the given URL of the route.

Route::prefix('admin')->group(function () {
	    Route::get('users', function () {
		// Matches The "/admin/users" URL
	    });
	});

 

Route Model Binding

 

Route::get('user/{id}', function (App\Models\User $user) {
    return $user->email;
});

 

Rate Limiting
  • Laravel provide powerful and customizable rate limiting services that you may utilize to restrict the amount of traffic for a given route or group of routes.
  • Rate limiters are using the "RateLimiter" facade's "for" method.

Example of Rate Limit

use Illuminate\Cache\RateLimiting\Limit;
	use Illuminate\Support\Facades\RateLimiter;

	RateLimiter::for('global', function (Request $request) {
	    return Limit::perMinute(1500);
	});

 

Rate Limit with Custom Response

 

RateLimiter::for('global', function (Request $request) {
	    return Limit::perMinute(1000)->response(function () {
		return response('Example of Custom response...', 429);
	    });
	});

 

Current Route

Laravel provides an inbuilt method for getting current information on the route. You can get information about the current route using the inbuilt method of the route.

$current_route = Route::current();

$current_route_name = Route::currentRouteName();

$current_route_action = Route::currentRouteAction();

 


You might also like:

Recommended Post
Featured Post
Import Export CSV/EXCEL File In Laravel
Import Export CSV/EXCEL File I...

Today I will show you how to implement/install the import/export package in laravel 6/7. We will simply create...

Read More

May-19-2020

Laravel 11 Install Yajra Datatable Example
Laravel 11 Install Yajra Datat...

In this tutorial, we'll explore an example of installing Yajra Datatable in Laravel 11. In every project, it's e...

Read More

Apr-10-2024

Datatables Expand/Collapse Columns
Datatables Expand/Collapse Col...

In this article, we will see how to expand/collapse columns in datatable. The Datatables API has a number of method...

Read More

Jun-05-2022

How To Get Client IP Address In Laravel 9
How To Get Client IP Address I...

In this article, we will see how to get a client's IP address in laravel 9. Many times you need a user IP addre...

Read More

Oct-26-2022