Не тільки 404: розумні відповіді з Route Binding у Laravel

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 березня, 2026
Вам коли-небудь доводилося стикатися з неприємностями 404 під час навігації по сайту? У цій статті ми розглянемо, як метод missing у Laravel дозволяє перетворювати такі ситуації на корисні редиректи та інформативні повідомлення, що покращують досвід користувачів
Метод `missing` у Laravel надає елегантний спосіб налаштування відповідей у разі, коли не вдається знайти модель. Замість стандартних сторінок 404 ви можете створювати значні редиректи або відповіді, які покращують користувацький досвід Цей підхід особливо корисний для управління змінами URL, перейменуваннями продуктів або пропонуванням корисних рекомендацій, коли користувачі стикаються з відсутніми ресурсами
Route::get('/articles/{article:slug}', [ArticleController::class, 'show'])
    ->missing(function (Request $request) {
        return redirect()->route('articles.index')
            ->with('message', 'Статтю не знайдено');
    });
Ось практичний приклад зі смарт-редиректами:
// Маршрут для архіву статей
Route::get('/articles/{article:slug}', [ArticleController::class, 'show'])
    ->missing(function (Request $request) {
        // Перевірка, чи статтю перемістили в архів
        $archived = ArchivedArticle::where('original_slug', $request->route('article'))
            ->first();
 
        if ($archived) {
            return redirect()
                ->route('articles.archived', $archived->slug)
                ->with('info', 'Цю статтю переміщено в архів.');
        }
 
        return redirect()
            ->route('articles.index')
            ->with('info', 'Статтю не знайдено. Перегляньте наші останні публікації.');
    });
Коли користувач намагається отримати доступ до переміщеної статті, його плавно перенаправляють:
// При доступі до /articles/old-article-slug
// Користувача перенаправляють на /articles/archived/old-article-slug
// З повідомленням: "Цю статтю переміщено в архів."
Метод `missing` перетворює неприємні 404-ситуації на корисні редиректи та інформативні повідомлення

Популярні

Logomark Logotype

Створення MCP-серверів на PHP

Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Все, що потрібно знати про Laravel 13

Laravel 13 вийде в березні 2026 року й вимагатиме мінімум PHP 8.3. Хочете дізнатися, як PHP‑атрибути для моделей, нові налаштування черг і метод Cache::touch() вплинуть на вашу розробку?