Создание объекта ответа Response
Как вы уже знаете, обычно действия контроллеров возвращают результат работы функции view
, то есть представление:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return view('post.show'); // вернем представление
}
}
Можно также просто вернуть текст:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return 'text'; // вернем текст
}
}
Существует и третий вариант - можно вернуть объект класса Response
. Данный объект позволяет устанавливать код HTTP ответа, а также заголовки этого ответа. Конструктор этого класса первым параметром принимает текст ответа, а вторым - код HTTP статуса (200, 404 и тп):
<?php
new Response('текст', 'статус'));
Давайте, с помощью объекта Response
вернем 404 ошибку
:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return new Response('не найдено', '404'));
}
}
Вспомогательная функция для ответа
Для удобства можно использовать вспомогательную глобальную функцию response
:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return response('text', 200);
}
}