Routing is the process of mapping incoming HTTP requests to specific controller actions in your Laravel application. This allows you to build a clean and organized application by separating your code into distinct components.
Routing Files in Laravel:
- Web Routes: Located in the routes/web.php file, these routes are responsible for handling web-based requests. They’re often associated with views, form submissions, etc.
- API Routes: Found in the routes/api.php file, these routes handle API requests. They’re commonly used for API resources and return JSON responses.
Routing Methods in Laravel:
- Basic Route: The simplest form of a route in Laravel. It usually handles GET requests. for Ex:
Route::get('/example', function () {
return 'Hello, this is an example route!';
});
2. Route Parameters: You can define route parameters to capture parts of the URI. For Example:
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
3. Named Routes: Assign a name to a route to easily reference it in your application. For Example:-
Route::get('/profile', 'UserController@showProfile')->name('profile');
4. Route Prefixes: Add a prefix to a group of routes to avoid repetition. For Example:-
Route::prefix('admin')->group(function () {
Route::get('/dashboard', 'AdminController@dashboard');
Route::get('/users', 'AdminController@listUsers');
});
Configuring Custom Route in Laravel:
To configure a custom route in Laravel, simply define it in one of the route files (web.php or api.php). For instance, if you want to create a custom route to handle a specific functionality:
Route::get('/custom', 'CustomController@handleCustomFunction');
You’ll need to create CustomController and its associated method handleCustomFunction to process this route.
Handling Query Routes in Laravel:
To handle query parameters in routes, you can define optional parameters in the route definition. For example:
Route::get('/search', function () {
$query = request('q');
return 'Search query: ' . $query;
});
In this case, a request to /search?q=example will capture the q parameter from the query string and process it.