<?php
namespace Shasoft\SamoyedCMG;
use Shasoft\SamoyedCMG\Service\IRequest;
use Symfony\Component\HttpFoundation\Response;
// Генерация ответа маршрута
trait AppRouteOnRequest
{
// Обработка запроса
static protected function onRequest(IRequest $request): Response
{
// Создать контроллер
$controller = new \Shasoft\SDemo\Controller\HomeController(\Shasoft\SamoyedCMG\AppRoute::getService(\Shasoft\STwig\ITwig::class));
// Выполнить метод контролера
$response = $controller->run( );
// Если вернули null
if (is_null($response)) {
$response = '<h3><abbr style="color:red" title="Контроллер вернул null">null</abbr></h3>';
}
// Если ответ в виде строки
if (is_string($response)) {
// то преобразовать строку в HTTP ответ
$response = new Response($response);
$response->prepare($request->getSymfonyRequest());
}
// Вернуть ответ
return $response;
}
}