далее можно усложнить роутер, добавив в него поддержку правил и т.д.
Потом сделать полноценный фреймворк. Или просто использовать готовые решения.
далее можно усложнить роутер, добавив в него поддержку правил и т.д.
Потом сделать полноценный фреймворк. Или просто использовать готовые решения.
Koenig, абсолютно ничто не мешает создать в контроллере объект модели и там выполнить часть обработки.
aNNiMON, "Пока не придумал, как это красиво сделать"
Вариантов не много, подрубай в начале скрипта бутстрап (include('../bootstrap.php')) и в нем буферизируй вывод: https://github.com/Bashka/simp ... p#L18
"В каком-то вообще без слова action"
Ага, ет мой любимый вариант )
"в контейнере расширяется и заполняется данными хэдера и футера"
А че не:
{% extends "base.html" %}# Mi7teR (04.05.2017 / 12:22)у него нет единой точки входа чтоб роутить urlы
используй роутинг - в зависимости от урл вызывай нужный контроллер и метод.
К примеру урл = http://site.ru/forum/index
Роутер берет из реквеста часть "forum/index"
Потом проверяет доступен ли класс
Mi7teR, я бы с радостью, но не хочется ломать существующее обращение к страницам. Там по-старинке forum/?act=show_topic&id=xx, хоть через реврайты и выглядит как forum/idxx.
Delphinum, в шаблоне как раз и используется наследование с {% extends "base.html" %}. Но проблема в том, что шапке тоже нужны данные (счетчики, количество входящих писем для юзера и т.д.), вот они и подтягиваются в тех методах.
Про register_shutdown_function не знал, спасибо.
P.S. Что-то обсуждение сильно разрослось, нет ли более подходящей темы для этого?
aNNiMON, холиварка пыхыпышников. Хайпанем немножечко
# aNNiMON (04.05.2017 / 11:22)Область видимости одна и та же, так что ни чего глобального.
ramzes, Если переменная из шапки доступна в футере, то что это, если не глобальная переменная?
Что же плохого в перезаписывании переменных? Новых объектов не создаётся, память не расходуется. Да,
# AlkatraZ (04.05.2017 / 11:43)По этому всегда склоняюсь к конструкции
Да вот как раз таки не очевидно.
Если так рассуждать, то вообще, все можно было бы вызвать в bootstrap.php он инклюдится везде.
Что-то подобное было в 6.х.х и раньше.
Однако по "правилам хороше
# ramzes (04.05.2017 / 13:11)Ну для начала не забывай, что у нас DI контейнер. Ты не можешь с него дернуть отдельный метод (если конечно он не зарегистрирован как сервис).
По этому всегда склоняюсь к конструкции
app::config()->getDefaultTitle();
А не к переменным
CallSctatic
Не надо ни чего жестко вписывать. Но я понял о чем ты. Это так, отвлеченно, к сути мало отношения имеет.
Ты все таки подумай, на счет дублей этого куска кода