Ответов: 1 Просмотров: 373
 |
Сижу я изучаю паттерн mvc(или парадигма?, а то умные дядьки кидаются своими умными словами и не поймешь кто прав, а кто виноват).
Вот такая у меня простецкая структура.
Роутер смотрит какую страничку запрашивает пользователь, подключает(если может) класс, а затем вызывает нужный метод (согласно шаблону из routes.php).
И вот тут то возникает вопрос, я бы хотел понять как лучше организовать построение страницы. В плане иметь 3 статичных блока, это Header, Footer, Menu.
Которые должны быть абсолютно одинаковыми на всех страничках. Можно конечно, по-старинке подключать , но разве это верно?
Наблюдал как в контроллерах собирают что-то вроде:
опять же, не знаю, насколько хорош этот вариант.
я сделал так:
ну и на каждой страничке вызываю как-то так:
PHP:
скопировать код в буфер обмена
|<?foreach($this->menu as $menuItem):?> <a href="/<?=$menuItem['path']?>"> <?=$menuItem['name']?> </a> | <?endforeach;?>
работать-то работает, но такое надо прописывать ведь в каждом контроллере для каждых различающихся по функциям страничкам, вероятно можно сделать некоторый общий контроллер, а остальные будут его расширять, скажем
PHP:
скопировать код в буфер обмена
class MainController{ public $menu; public function __construct() { $this->menu = Menu::getMenuList(); } } class NewsController extends MainController{ ... }
в таком случае можно будет какие-то базовые и не изменяющиеся вещи инициализировать прямо-таки сразу для всех страниц.
Надеюсь суть вы поняли вопроса: как наиболее правильно подключать элементы к странице, такие как header, footer, menu.
P.S. я смотрю видео уроки, текстовые уроки, везде примерно одно и то же, рассказывается концепция, там делаем то, там делаем это, некоторые отправляют смотреть готовые фреймворки, пытался, но чет как-то безуспешно, набегом наскоком найти не удалось. |