Задать вопрос
glossyweb
@glossyweb
Mark marketing

В чем разница между выводом шаблона через контролер и напрямую?

В чем разница между выводом шаблона через контроллер посредством:
$menu = new \Altum\View('partials/account_header_menu', (array) $this);
        $this->add_view_content('account_header_menu', $menu->run());


<?= $this->views['account_header_menu'] ?>

и просто выводом вот так:
<?php require THEME_PATH . 'views/partials/export_dropdown.php' ?>


и так и так все работает, но не понимаю в чем разница. Обьясните как правильно и почему. Спасибо.
  • Вопрос задан
  • 393 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
nefone
@nefone
Junior PHP разработчик
Я думаю если используется фреймворк, то и правильнее будет пользоваться его возможностями

Примерно код контроллера должен выглядеть так:
<?php

namespace App\Controllers;

class Account extends BaseController
{
    public function index()
    {
        $data['title']   = 'Аккуант';

        return view('account_header_menu, $data);
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
tkovacs
@tkovacs
веб мастер
Ну вообще твой альтум нарушает psr по оформлению кода. А в целом подобный класс довольно удобен, он разделяет ответственность, можно использовать повторно, легко заменить реализацию и наверняка в нем есть удобные инструменты для рендера шаблонов.
Ответ написан
Комментировать
@v__V__v
Разработчик
Если в коде не написано, что это контроллер, то это не значит, что это не контроллер) Во втором случае шаблон тоже выводится контроллером, только в нем ничего не происходит, просто вывод шаблона без вызова метода, который обрабатывает шаблон. А обработка шаблона может включать или не включать в себя целую кучу действий, в зависимости от его содержимого.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы