První stránka v MVC
Pro jednoduché použítí si ukážeme klasické použí frameworku pro jednoduchou stránku napsanou v architektuře MVC.
Model
src/App/Model/Page.php
<?php
namespace App\Model;
final class Page
{
public function getPage()
{
return [
"title" => "První stránka v MVC",
"content" => "<p>Obsah první stránky.</p>"
];
}
}
View
template/page.html.twig
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>{{ "{{" }} page.title {{ "}}" }}</title>
</head>
<body>
<h1>{{ "{{" }} page.title {{ "}}" }}</h1>
{{ "{{" }} page.content {{ "}}" }}
</body>
</html>
Controller
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
]);
}
}