ufm

Форк
0
/
BaseController.php 
41 строка · 1.0 Кб
1
<?php declare(strict_types=1);
2

3
namespace Upside\Ufm\Controller;
4

5
use Upside\Http\Response;
6
use Upside\Http\Status;
7
use Upside\View\ViewInterface;
8

9
abstract class BaseController
10
{
11
    protected ViewInterface $view;
12

13
    public function init(ViewInterface $view): void
14
    {
15
        $this->view = $view;
16
    }
17

18
    public function json(mixed $data = '', Status $status = Status::OK): Response
19
    {
20
        return new Response(
21
            \json_encode($data, JSON_THROW_ON_ERROR),
22
            $status,
23
            ['Content-Type' => 'application/json']
24
        );
25
    }
26

27
    public function redirect(string $url, Status $status = Status::FOUND): Response
28
    {
29
        return new Response('', $status);
30
    }
31

32
    public function redirect_to_route(string $route_name, Status $status = Status::FOUND): Response
33
    {
34
        return new Response('', Status::FOUND);
35
    }
36

37
    public function render(string $view, array $parameters = [], Status $status = Status::OK): Response
38
    {
39
        return new Response($this->view->render($view, $parameters), $status);
40
    }
41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.