Controller
Controller slouží jako most mezi aplikační vrstvou modelu a šablonou.
Na základě požadavku (request), což může být jen konkrétní cesta, si z modelů vezme data a předá je šabloně:
src/App/Controller/PageController.php
<?php
namespace App\Controller;
use App\Model\Page;
use Gephart\Framework\Response\TemplateResponseFactory;
final class PageController
{
/**
* @var Page
*/
private $page;
/**
* @var TemplateResponseFactory
*/
private $response;
public function __construct(TemplateResponseFactory $response, Page $page)
{
$this->response = $response;
$this->page = $page;
}
/**
* @Route /
*/
public function run()
{
$page = $this->page->getPage();
return $this->response->createResponse("page.html.twig", [
"page" => $page
]);
}
}