In Laravel, routes are defined in the routes/web.php
file or routes/api.php
file. These files contain route declarations that determine how HTTP requests should be handled by the application. Laravel provides a concise and expressive syntax for defining routes.
Here's a basic overview of how you can define routes in Laravel:
1. Basic Route:
To define a basic route, you can use the Route
facade provided by Laravel. The basic structure looks like this:
use Illuminate\Support\Facades\Route; Route::get('/example', function () { return 'Hello, this is an example route!'; }); |
In this example, a GET request to the /example
URI will trigger the provided closure, which returns a simple text response.
2. Route Parameters:
You can define routes with parameters using curly braces {}
:
Route::get('/user/{id}', function ($id) { return 'User ID: ' . $id; }); |
The parameter value will be passed to the closure as an argument.
3. Optional Parameters:
You can make route parameters optional by providing a default value:
Route::get('/user/{name?}', function ($name = 'Guest') { return 'Hello, ' . $name; }); |
In this example, the name
parameter is optional, and if not provided, it defaults to 'Guest'.
4. Named Routes:
You can assign a name to a route using the name
method:
Route::get('/profile', function () { // your code here })->name('profile'); |
Named routes can be referenced in your application using the route
helper function.
5. Controller Routes:
It's a good practice to separate your logic from routes. You can define a route that points to a controller method:
use App\Http\Controllers\UserController; Route::get('/user/{id}', [UserController::class, 'show']); |
Here, the show
method in the UserController
class will be invoked when the route is accessed.
These are just some basic examples, and Laravel's routing system is quite powerful, supporting features like route groups, middleware, resource controllers, and more. Refer to the official Laravel documentation for comprehensive information: Laravel Routing.
=== Happy Coding :)