Как выводить меню. Структура mvc .php

295
15 апреля 2017, 00:17

Как вывести категории новостей в шапку меню, так чтобы не копипастить код каждый раз при добавлении нового action. нужно чтобы меню всегда было видно .

Answer 1
class TemplateEngine {
    ...
    $path="var/www/htmldoc/";
    public function renderPage($page) {
        echo $this->makeElement("header");
        echo $this->makeElement($page);
        echo $this->makeElement("footer");
    }
    public function makeElement($elementName) {
            return file_get_contents($this->path.$elementName.".html";)
    }
    ...
}

Это, наверно, самый простой способ. Файлы соответственно должны лежать по направлению переменной $path. И называться, например, "header.html". Тажке можно использовать twig (https://twig.sensiolabs.org/), в котором уже это и не только хорошо реализовано.

Пример использования. Контроллер:

<?php
    //simpleController.php
    public function someAction() {
        $template = new TemplateEngine();
        $template->renderPage("index");
    }
?>

Шапка (header.html):

<html>
<head>...</head>
<body>

Сама страница (index.html):

<h1>Hello world</h1>

Подвал (footer.html):

<body></html>
READ ALSO
Как правильно составить запрос mod-rewrite?

Как правильно составить запрос mod-rewrite?

Есть архитектура директорий, описываемая такими адресами:

176
Почему не получается с preg_match?

Почему не получается с preg_match?

пытаюсь спарсить с сайтов партнеров информацию о том, в наличии ли у них товар или нетСобственно вот код

207
Как получить подключение к БД в codeignther

Как получить подключение к БД в codeignther

Всем приветЕсли использовать

170
Twig множество параметров

Twig множество параметров

Господа вопрос по Twig

224