РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
436 of 1392 menu

Функция back

Функция back применяется для генерации ответа перенаправления на предыдущий URL, с которого был выполнен запрос. Она использует данные сессии и заголовок 'Referer' для определения предыдущего адреса. Первым параметром передаётся статус-код (по умолчанию 302), вторым - заголовки для ответа. Функция возвращает экземпляр класса RedirectResponse.

Синтаксис

<?php back($status = 302, $headers = [], $fallback = false); ?>

Пример

Давайте выполним перенаправление на предыдущую страницу из контроллера после успешного сохранения данных:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Http\Request; class ArticleController extends Controller { public function store(Request $request) { $article = Article::create([ 'title' => $request->title, 'text' => $request->text, ]); return back()->with('success', 'Article created successfully'); } } ?>

Пример

Давайте используем функцию back с пользовательским статус-кодом и заголовками:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function update(Request $request, $id) { // ... update logic return back(303, ['X-Custom-Header' => 'Value']); } } ?>

Пример

Давайте используем функцию back с сохранением введённых данных для их отображения при ошибке валидации:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Http\Request; class ArticleController extends Controller { public function update(Request $request, $id) { $request->validate([ 'title' => 'required|max:255', 'text' => 'required', ]); $article = Article::find($id); $article->update($request->all()); return back()->withInput(); } } ?>

Пример

Давайте используем функцию back в шаблоне Blade для создания кнопки возврата:

<div> <h1>{{ $article->title }}</h1> <p>{{ $article->text }}</p> <a href="{{ back()->getTargetUrl() }}">Go back</a> </div>

Результат выполнения кода:

<div> <h1>My article</h1> <p>This is article text</p> <a href="/previous/page">Go back</a> </div>

Пример

Давайте выполним перенаправление на предыдущую страницу с передачей ошибок в сессию:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Http\Request; class ArticleController extends Controller { public function destroy(Request $request, $id) { $article = Article::find($id); if (!$article) { return back()->withErrors(['Article not found']); } $article->delete(); return back()->with('success', 'Article deleted'); } } ?>

Смотрите также

  • функция redirect,
    которая выполняет перенаправление на указанный URL
  • функция route,
    которая генерирует URL по имени маршрута
  • функция url,
    которая генерирует полный URL для переданного пути
  • класс RedirectResponse,
    который представляет ответ перенаправления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить