Лично мне эти портянки не нравятся :) Поднимите руки, кому хочется в этом разбираться?
ЗЫ. Ну вы то ладно, а в тот обычный человек явно ничего не поймёт в таком коде :)
А теперь подумайте. Пользователю захотелось поставить на страницу банально рекламный блок. Чтобы ему это сделать ему нужно открыть шаблон, найти модуль, в модуле какой-то костыль сделать чтобы этот рекламный блок появился на странице. Это вас конечно не смущает, это нормально, этим все занимаются.. :)
Опять не дошло? У меня же в структуре надо прописать элемент рекламного блока и всё.
Вот иногда у вас думалка начинает работать, а потом снова отключается.
У меня эта проблема решена и я ранее в теме рассказывал как это реализовано. Структура страницы одна и движок классом открытия структуры получает все элементы этой страницы, затем генерирует её. Так же когда запрашиваются стили, открывается структура и получается список нужных стилей, перед добавлением проверяет есть ли уже такие стили или нет, если нет то добавляются. Я кстати над этой проблемой думал не мало и тестировал разные способы.
А теперь ещё подумайте все.
Для ускорения создания сайта хочется удобный инструмент, поэтому и существуют шаблонизаторы, они упрощают работу, но замедляют скорость генерации страницы. Так как во-первых язык php это интерпретируемый язык он сам является шаблонизатором. А во-вторых шаблонизаторы написанные на php выполняют по сути массу бесполезных действий только чтобы интерпретировать выдуманные команды.
Я же использую встроенные модули php которые выполняются на машинном уровне. Открывается структура и у меня мгновенный доступ ко всем элементам которые должны быть на странице, хоть в начале, конце или середине, я могу обработать только часть структуры при динамическом обновлении аяксе например.
Кстати когда я делал первый свой проект Аякса тогда не было и я как тогда говорили тоже изобретал велосипед :) сначала на технологии Flash потом на Js И такое ощущение, что те кто раскрутили Аякс у меня просто подглядели и взяли мой код, так как подход и способ именно тот какой тогда сделал я. Передача данных кстати реализована на xml. Что и сейчас даже практикуется.
В психологии есть такой феномен обезьянки :)
Провели такой эксперимент. Посадили 5 обезьян в клетку. Посередине клетки повесили банан. Ну все обезьяны естественно стали пытатся его достать. А их тут же стали поливать из шланга холодной водой. Обезьяны перестали доставать банан на некоторое время, а потом снова стали пытаться его достать. И их снова полили водой из шланга. Потом некоторые остались в стороне, а одна или две всё ещё пытались достать банан. И их опять облили водой. Потом все обезьяны перестали доставать банан.
Затем одну обезьяну забрали из клетки и посадили новую. Новая обезьяна сразу стала пытаться достать банан. А старые стали её отгонять, мол нельзя. Затем ещё одну поменяли на новую. Новая снова полезла за бананом, а другие её отгоняли и та которую не обливали водой с большим энтузиазмом это делала. Затем в клетке не осталось ни одной из первых обезьян которых обливали водой. И Сколько не меняли обезьян они новеньким не позволяли достать этот злосчастный банан. Так как нельзя!! Потому что так заведено!!!
Я понял что тут нет реальных хороших разработчиков, здесь находятся в основном обычные пользователи конструкторов. И вы рьяно как те обезьянки в клетке защищаете свой банан(в виде использования готовых решений конструкторов, шаблонизаторов). Даже если у кого и появляются здравые мысли сделать что-то лучше, потом после кто-то прокомментирует что не надо изобретать ничего(исходя из своего негативного опыта так как у него ничего не получилось) и тут же вы встаёте на его сторону. Стадо "барашков" образовывается.
Я извиняюсь за алегории просто иначе объяснить ваше поведение не получиться. А в стаде барашков чтобы отстоять свою точку зрения нужно быть волком :)
Правильно вы о себе говорите :) Оно конечно придумано :) Всё то перечисленное мною в таком нативном шаблоне чтобы у вас работало, надо написать классы, функции. Потом в каждой странице их включать, задавать параметры и тд. Вашему разработчику будут нужны знания php, html, css, js
А в моём случае просто поменять несколько строк в структуре xml, так как все эти нюансы продуманы и учтены заранее. А моему пользователю нужно только понимать как составлять структуру в xml.
<html> <head> <?php head(); ?> </head> <body> <?php module(1); ?> <?php module(2); ?> <?php module(3); ?> </body></html>
Хорошо. Ваши модули сгенерировали какой-то HTML
А как же стили? Ах да зачем придумывать велосипед, просто запихать всё в один файл, надо не надо и отправить пользователю.
А если скажем модуль заголовок с текстом, а мне надо туда добавить ещё текста или блок разделённый на две колонки или ещё что-то а в тот блок ещё.
А как быть если у слайдера поменять картинки? А что если модулю нужен скрипт? И не сразу а в зависимости от действий пользователя? А что если данные модулей 1,2,3 в данном случае не нужны тему на форуме удалили, что тогда? Как в таком случае будет организовано ветвление? В xml есть namespase и это я предусмотрел, раньше в сообщениях об этом тоже писал. А как быть если пользователь поменяет расположение сайдбара с право на лево или ещё что-то? Тут вопросов к такому подходу масса...
Вы об этом подумали? Так у кого соображалка плохо работает?---------- Добавлено 06.12.2019 в 20:40 ----------
Это не понимание xml, это просто подход использования xml в качестве структурирования элементов страницы, модуля, сайта. Я не хочу приходить к банальным шаблонизаторам, я наоборот ухожу от них.
Dreammaker, Цитировать не буду, всё правильно говорите. Я подумаю и сделаю мини презентации, для разработчиков уроки, для простых людей как они могут быстро создавать сайты, для бизнесменов готовый модуль магазина, блогеров и тд.
Простым людям будет просто показано как добавлять элементы страницы, постараюсь сделать всплывающее меню с перетаскиванием мышкой будут вставляться готовые элементы структуры.
Целевая аудитория на данном этапе пока разработчики, фреймворк ещё очень сырой, юзабилити желает лучшего, мне сейчас нужны компаньоны. Надо найти и обучить несколько человек которые желают освоить не сложный но удобный инструмент для разработки, с помощью которого они и другие смогут создавать сайты, узлы и компоненты, зарабатывая на этом.
Далее когда компонентов и узлов будет достаточно для создания сайта просто составив его структуру. Будет второй этап предложения для предпринимателей. А затем уже будем предлагать и обычным людям. Если человек хочет свой сайт и при этом ему не хочется тратить время на изучение программирования, использование какого то конструктора и тд., он сможет ознакомится с азами как составлять структуру и создать себе сайт какой захочет.
Хотелось всё показать и рассказать, к видео специально не готовился, всё экспромтом. Когда буду делать видео уроки, разобью все моменты на небольшие части и вкратце, но по сути буду рассказывать, но это в будущем когда будет сайт проекта.
Как и обещал записал видео обзор с пояснениями. Заранее извиняюсь за изложение, рассказчик из меня никакой, короче ночь сегодня плохо спал, мысли всякие мешали уснуть.., переволновался, перенервничал.. Пробовал записать видео ещё вчера, программа без регистрации не позволила дольше 10 минут, пришлось искать другую, со звуком проблемы решал и тд. Записав долго грузилось на ютуб, но всё-таки загрузилось :) Прошу сильно не пинать.
https://youtu.be/B3bpQbvzYug
jinja2 - это шаблонизатор для питона, я пишу на php. Такое чувство что люди тут увидев где-то что-то даже если не понимают для чего, обязательно вставят это "блеснув так сказать своей эрудицией" :)
Ничего я не конвертирую в HTML
Как вы формируете так и я формирую :)
Сейчас запишу видео, там всё попробую объяснить.
domen.ru/module/action - тут думаю понятно модуль и экшен как в MVC
domen.ru/module/parametr1/parametr2/action - parametr1-parametrN это также маршрутизация, экшен может инклюдить ещё обработчики
domen.ru/module/parametr1/parametr2/action?key=value - переменные key=value передаваемые странице или в методе POST
Потому что я знаю как работает MVC и шаблонизаторы. Я искал лучший способ и нашёл. О разных преимуществах этого способа перед MVC и шаблонизаторами уже говорил не однократно вы не анализируете информацию и важные моменты упускаете, а скорее всего просто не умеете думать, делаете всё по накатанной как другие и думать не зачем.
Спасибо, приму во внимание.
Моя проблема в том, что работаю один, на такой большой функционал нужно время, со временем всё будет дорабатываться если проект не загнётся конечно.
На данном этапе просто хочу донести до людей зачем нужен xml, никто не понимает и отвергают его использование.