cloud_download Stáhnout

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\TemplateResponse;

final class PageController
{
    /**
     * @var Page
     */
    private $page;

    /**
     * @var TemplateResponse
     */
    private $response;

    public function __construct(TemplateResponse $response, Page $page)
    {
        $this->response = $response;
        $this->page = $page;
    }

    /**
     * @Route /
     */
    public function run()
    {
        $page = $this->page->getPage();

        return $this->response->template("page.html.twig", [
            "page" => $page
        ]);
    }

}