Как работает route laravel
Узнайте больше о работе с роутингом в Laravel, просмотрите примеры и понять, как создавать и обрабатывать маршруты, используя систему маршрутизации.
Laravel использует роутинг, чтобы предоставить более лаконичный интерфейс для обработки входящих URL-запросов. Роуты определяются в маршрутизаторе по умолчанию в файле routes/web.php
. Каждый роут должен быть определен с помощью метода Route::
и принять параметры маршрута и обработчика. Например:
Route::get('/', function () {
return view('welcome');
});
Этот пример привязывает маршрут с URL-адреса /
к анонимной функции обработчику, которая возвращает вид welcome
. Другие примеры роутинга могут включать в себя:
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {
//
});
Route::get('/welcome/{name}', function ($name) {
return 'Welcome '.$name;
});
Вы также можете определить маршруты с помощью функций контроллера. Например:
Route::get('/', 'HomeController@index');
Этот маршрут будет отправлять запросы URL-адреса /
в метод index
контроллера HomeController
. Вы также можете использовать именованные маршруты, которые позволяют отправлять запросы для генерации ссылок на другие страницы в вашем приложении:
Route::get('user/profile', function () {
//
})->name('profile');
// Генерация ссылки с именем маршрута
$url = route('profile');
Laravel также поддерживает группы роутов, которые могут быть использованы для группировки похожих роутов вместе. Например:
Route::prefix('admin')->group(function() {
Route::get('users', function () {
// Matches The "/admin/users" URL
});
});
Этот пример создает группу роутов с префиксом /admin
, что означает, что любой роут внутри группы будет иметь этот префикс. Вы также можете применить префикс к маршруту, напрямую, без группы:
Route::prefix('admin')->get('users', function() {
//
});
Наконец, вы можете применить общие правила для всех роутов в группе. Например, вы можете определить общие префиксы, правила проверки авторизации, префиксы имен и прочее:
Route::prefix('admin')
->middleware('auth')
->group(function () {
Route::get('users', function () {
// Matches The "/admin/users" URL
});
});
Вы можете добавлять и определять множество различных роутов в своем приложении, используя настраиваемые правила и анонимные функции. Это позволяет более легко организовывать и манипулировать маршрутами в вашем приложении.