PHP Academy · Урок

Определение маршрутов в Laravel

Регистрируйте маршруты GET, POST и ресурсные маршруты в web.php и api.php

Урок 2 из 413 шагов

«Определение маршрутов в Laravel» — бесплатный урок PHP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Базовый маршрут

Определите маршрут GET, возвращающий строковый ответ.

<?php
use Illuminate\Support\Facades\Route;

Route::get("/hello", function () {
    return "Hello, Laravel!";
});

Методы HTTP-операций

Laravel предоставляет методы маршрутов get, post, put, patch, delete и options.

<?php
Route::post("/users", [UserController::class, "store"]);
Route::put("/users/{id}", [UserController::class, "update"]);
Route::delete("/users/{id}", [UserController::class, "destroy"]);

Параметры маршрутов

Захватывайте сегменты URI с помощью {param}. Необязательные сегменты используют {param?}.

<?php
Route::get("/users/{id}", function (int $id) {
    return "User ID: $id";
});
// Optional:
Route::get("/posts/{slug?}", function (?string $slug = null) { });

Именованные маршруты

Именуйте маршруты, чтобы использовать их при перенаправлениях и создании URL.

<?php
Route::get("/dashboard", [DashboardController::class, "index"])->name("dashboard");

// Elsewhere:
return redirect()->route("dashboard");
$url = route("dashboard");

Группы маршрутов

Объединяйте маршруты, у которых общие промежуточное ПО, префикс или пространство имён.

<?php
Route::middleware("auth")->prefix("admin")->group(function () {
    Route::get("/dashboard", [AdminController::class, "index"]);
    Route::get("/users",     [AdminController::class, "users"]);
});

Маршруты ресурсов

Route::resource() регистрирует семь REST-маршрутов (индекс, создание, сохранение, отображение, редактирование, обновление и уничтожение) для контроллера одной строкой.

<?php
Route::resource("posts", PostController::class);
// GET /posts, GET /posts/create, POST /posts, GET /posts/{post}
// GET /posts/{post}/edit, PUT/PATCH /posts/{post}, DELETE /posts/{post}

Маршруты ресурсов API

Route::apiResource() регистрирует пять маршрутов, исключая создание и редактирование, которые возвращают формы.

<?php
Route::apiResource("users", UserController::class);

Привязка модели к маршруту

Укажите тип модели в замыкании маршрута или методе контроллера — Laravel автоматически получит модель по первичному ключу.

<?php
Route::get("/users/{user}", function (User $user) {
    return $user; // Laravel fetches User::findOrFail($user)
});

Ограничения маршрутов

Ограничивайте формат параметров маршрута с помощью регулярных выражений.

<?php
Route::get("/users/{id}", handler)->where("id", "[0-9]+");
Route::get("/users/{slug}", handler)->where("slug", "[a-z-]+");

any() и match()

Route::any() отвечает на запросы с любым HTTP-методом. Route::match() отвечает на запросы с методами из указанного списка.

<?php
Route::match(["get", "post"], "/contact", ContactController::class);

Просмотр зарегистрированных маршрутов

Выводите список всех зарегистрированных маршрутов с их методами, именами и действиями.

$ php artisan route:list

Итоги

Маршруты Laravel находятся в routes/web.php и routes/api.php. Используйте ресурсные маршруты для CRUD, привязку моделей к маршрутам для автоматической передачи моделей и именованные маршруты для создания URL.

Быстрая проверка

Какая команда сразу регистрирует 7 маршрутов REST?

Можно начать бесплатно

Изучай PHP с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
49
Уроки
195

Часто задаваемые вопросы

Урок «Определение маршрутов в Laravel» бесплатный?

Да — полный текст урока «Определение маршрутов в Laravel» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Определение маршрутов в Laravel»?

Регистрируйте маршруты GET, POST и ресурсные маршруты в web.php и api.php Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Определение маршрутов в Laravel»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Структура проекта Laravel
  2. Определение маршрутов в Laravel
  3. Контроллеры и действия
  4. Шаблоны и представления Blade
← Назад к PHP Academy