Ядро движка. Идеи.

cDLEON

Онанист РНРСlub
Ядро движка. Идеи.

Вот начал рефакторить своё двигло.
Идея заключается в следующем.
Разделить модули на вьювер и хиадер. Т.е. хиадер проверяет данные полученные от ядра, но ни чего не выводит, только добавляет, если требуется некоторые хиадеры. А вьювер, используя модели и прочую хрень выводит контент.
Данные, полученные от ядра - это так называемая мною коммандная строка в виде чпу /news/getNews/20-20-20/ при чём в шаблон могут подргужаться несколько модулей. Один - от чпу, второй - с введением собственной статической комманды. За счёт этого в шаблон можно загружать н-ое количество модулей без гемороя.

Но вместе с этим появляются проблемы. Например - модуль не сможет выставлять куки. Поэтому хочется, не убирая формирования на лету (без ob), добавить возможность импорта нескольких модулей в шаблон.

Так же...В шаблонизатор планирую импортировать возможность переопределения и наследования (вернее он уже есть, но небольшой рефакторинг ему не помешает)... Т.е. рутовые шаблоны ( самого движка) можно переопределить в самом модуле (который грузится от ЧПУ) - тем самым добиться от шаблонизатора ещё большей гибкости. Нужно подгрузить ещё один вспомогательный модуль к другому модулю - пожалуйсто, редактируем дизайн под свои нужды. Не нужно - не грузим.

ЗЫ. Вопрос. Стоит ли извращаться. Либо хватит тупого ob_start() ? Не очень хочется что б всё, что сгенериться, валялось в буфере и жрало память.
 

dark-demon

d(^-^)b
то есть ты хочешь сделать так, чтобы шаблон работал и в качестве вьюхи и в качестве контроллера? мож и модель туда до кучи? :)

> Не очень хочется что б всё, что сгенериться, валялось в буфере и жрало память.

сколько ж ты там мегабайт генеришь?
 

cDLEON

Онанист РНРСlub
dark-demon
Нет, я хочу дать шаблону возможность вызывать через контроллер - модуль. (Ведь фактически это не вредит бизнес логике)
сколько ж ты там мегабайт генеришь?
Я пока ещё ни чего не генерю. Ну вот, предположим, появится задача вывести статический файл внутри дизайна.
Что делать тогда? Делать отдельный скрипт? А нафига тогда все эти пляски с ядром? Мож вообще всё раскидать по файлами? Пишу для того, что бы было удобно....
 

Духовность™

Продвинутый новичок
ой.. а по-русски можно? вот я ниче не понял. это не упрек автору, но просто как-то странно пишите...
 

dark-demon

d(^-^)b
вызывать - это функциональность контроллера.

вот представь себе такую ситуацию: ты поставил себе движок версии 1.1, где шаблоны вызывают модуль XYZ_1.1. и нашёл к нему модную шкурку, но её ещё не портировали на 1.1 и поэтому её шаблоны вызывают модуль XYZ_1.0, использование которого в движке версии 1.1 может привести к непредсказуемым последствиям.
в итоге получается: поставили новую шкурку - очистилась база данных. казалось бы как представление может влиять на модель? а очень просто - представление вызывает неверный контроллер или верный контроллер, но с неверными параметрами. а контроллер уже делает своё грязное дело.
 

cDLEON

Онанист РНРСlub
При чём здесь версия модуля к шкурке?
При вызове модуля из шаблона не учитывается версия.
Вот пример как вызываю в шкурке Engine::loadModule("admin/blablabla/blablabla"); А ядро уже вызывает данный модуль.
 

dark-demon

d(^-^)b
Engine::loadModule("admin/blablabla/blablabla");
Engine::loadModule("admin/blablabla/balablabla");

разные версии одного модуля либо разные модули выполняющие схожие функции.
 
Сверху