Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Новая архитектура CMS [3]
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
caballero пишет:
большинство современных CMS делаются модульными.
и в чем отличие?
не говоря о том что из модульности никак не вытекает универсальность
Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.
Но может вы дадите свое определение универсальности, чтобы я мог глубже понять, а может и уточнить свое.
caballero
Отправлено: 14 Марта, 2014 - 22:38:11
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
man1 пишет:
Вон у тебя в htaccess есть favicon. Что бы это значило при многосайтовости? А то, что либо пришлось бы класть свой htaccess в корневую папку каждого сайта, либо здесь же прописать favicon для всех сайтов (каждому свой)! Вот здесь-то (но не ограничиваясь этим) и нужно, чтобы модуль умел пункт 1.
взял его со старого проекта, будем считать, что будет достаточно вот такого .htaccess
Что касается добавок к index.php (пункт 2), конечно возможно прописать в нем пару строк кода, но ведь эти строки все равно будут вызывать подключения добавок (инклюдов и т.п.) от других модулей. То есть сам факт наличия добавок к стартовому файл на лицо (а значит это уже аспект модульности), а реализовать можно в духе как у тебя, но и по-другому. тоже
index.php - это "фронт-контроллер", он не должен быть изменяемым - это просто входная точка в приложение и всё... "модули" пускай уже через конфигурацию чего-то там меняют
а вообще можно сделать так, что сами модули ничего менять не буду, а будет только API через которое ядро будет собирать инфу от свежеустановленных модулей и переконфигурировать систему.
man1 пишет:
Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.
"многосайтовость" - это "решение" или "потребуется костыль" ? ;)
man1 пишет:
Но может вы дадите свое определение универсальности, чтобы я мог глубже понять, а может и уточнить свое.
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
взял его со старого проекта, будем считать, что будет достаточно вот такого .htaccess
Так можно, при условии что вам не требуется управлять путями (uri) к директориям файлов сайтов (в том числе favicon).
digi пишет:
index.php - это "фронт-контроллер", он не должен быть изменяемым - это просто входная точка в приложение и всё... "модули" пускай уже через конфигурацию чего-то там меняют
Ты использовал много специфических терминов, поэтому я не уверен что могу корректно тебя понять. Для меня index.php это просто пустой стартовый файл скрипта. Обеспечить чтобы что-то в нем происходило - это дело модулей. Например, модуль project (site) первым делом выполняет действие по определению домена из request. Вот он определил что сайт к которому обратились есть в базе и его domain=test.ru, а далее установил в переменную свойства текущего проекта. Все, добавка к index.php от модуля project закончена. Далее может вступить добавка от модуля page, которая тоже разберет запрос и будет пытаться собрать и отобразить страницу и т.д. Также добавка от модуля user, которая установит в переменную текущие права пользователя (если он и они есть) и т.д.
caballero
Отправлено: 15 Марта, 2014 - 10:34:37
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Обеспечить чтобы что-то в нем происходило - это дело модулей. Например, модуль project (site) первым делом выполняет действие по определению домена из request. Вот он определил что сайт к которому обратились есть в базе и его domain=test.ru, а далее установил в переменную свойства текущего проекта. Все, добавка к index.php от модуля project закончена. Далее может вступить добавка от модуля page, которая тоже разберет запрос и будет пытаться собрать и отобразить страницу и т.д. Также добавка от модуля user, которая установит в переменную текущие права пользователя (если он и они есть) и т.д.
по сути дела так работают все современные СMS. Посему так и непонятно что нового хочешь предложить.
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
caballero пишет:
по сути дела так работают все современные СMS. Посему так и непонятно что нового хочешь предложить.
Да, в модульности нового мало. Что-то новое может быть именно в версии реализации модульности, т.е. сделать еще проще, логичнее, читабельнее и т.д.
digi
Отправлено: 15 Марта, 2014 - 15:20:17
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
man1 пишет:
Да, в модульности нового мало. Что-то новое может быть именно в версии реализации модульности, т.е. сделать еще проще, логичнее, читабельнее и т.д.
это будет очень позитивно, но если не пытаться оперировать понятиями "добавка в index.php" )) а также не хакать реврайты, иначе всё будет очень сложно и не читабельно...
какие у тебя мысли есть на тему модулей, какие они должны быть, какой у них должен быть API, как они будут встраиваться в систему и как взаимодействовать с ядром и между собой?
кстати, кинь ссылку на твой аккаунт на гитхаба, посмотреть как ты код пишешь ;)
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
это будет очень позитивно, но если не пытаться оперировать понятиями "добавка в index.php" а также не хакать реврайты, иначе всё будет очень сложно и не читабельно...
Не сложно, а не привычно. Если расширить границы привычного, то становится нормально.
digi пишет:
какие у тебя мысли есть на тему модулей, какие они должны быть, какой у них должен быть API, как они будут встраиваться в систему и как взаимодействовать с ядром и между собой?
Я уже описал базовые мысли, дальше только если начинать реализовывать механизм модульности и там по ходу смотреть и уточнять.
digi пишет:
кстати, кинь ссылку на твой аккаунт на гитхаба, посмотреть как ты код пишешь
Меня там нет. Если дойдет до кодирования в этой ветке, тогда увидишь. Скажу только что стремлюсь по максимуму использовать простоту и особенности пхп и не люблю оборачивать вывод hello world в несколько килобайтов "лишнего" кода.
digi
Отправлено: 15 Марта, 2014 - 16:31:49
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
man1, эээх ) это что, занавес чтоли? ) ну чтож, давай тогда начинай креативить будем наблюдать за кодом
man1
Отправлено: 15 Марта, 2014 - 16:47:20
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
man1, эээх это что, занавес чтоли? ну чтож, давай тогда начинай креативить. будем наблюдать за кодом
Какой занавес? У меня нет ответов на все вопросы, я нахожусь в поиске.
Очевидно что сначала надо реализовать модульность, а далее уже распихивать по модулям функционал. В базовом комплекте должны быть следующие модули:
system - система, включает в себя единую функцию интерфейса модулей query($cmd, $data)
module - управление модулями (установка, отключение, получение списка)
updater - удаленное скачивание обновлений системы от производителя
admin - административная панель (это тоже проект созданный на этой же системе)
backup - резервирование
project - управление веб-проектами (сайтами), создание, изменение, удаление
page - управление страницами
theme - управление темами оформления
template - управление шаблонами страниц (включают header, footer)
snippet - управление включенными блоками одно- или много-кратного использования
user - пользователи, учетные записи, виды прав
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
распиши, что они значат?
можно кстати, как вариант, расписать пример использования т.е. берем простейшую вёрстку и конструируем на гопотетический цмс-ке сайтик например чтобы там был блог с тэгами, фотогалерейка, а также каталог и в идеале еще и возможность заказов товаров из каталога...
man1
Отправлено: 15 Марта, 2014 - 17:07:17
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
распиши, что они значат?
можно кстати, как вариант, расписать пример использования т.е. берем простейшую вёрстку и конструируем на гопотетический цмс-ке сайтик например чтобы там был блог с тэгами, фотогалерейка, а также каталог и в идеале еще и возможность заказов товаров из каталога...
Расписал.
Теоретизировать можно. Но не вижу возможности реализовать прототип системы с минимальным функционалом (новости, каталог и т.д.) без первоначальной реализации механизма модульности. Все упирается в это.
digi
Отправлено: 15 Марта, 2014 - 17:12:11
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
man1 пишет:
Теоретизировать можно. Но не вижу возможности реализовать прототип системы с минимальным функционалом (новости, каталог и т.д.) без первоначальной реализации механизма модульности. Все упирается в это.
т.е. следующим этапом будет код с прототипом на гитхабе? ;)
man1
Отправлено: 15 Марта, 2014 - 17:32:20
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
т.е. следующим этапом будет код с прототипом на гитхабе?
Если просто пообсуждать и даже немного попрототипировать, то для этого хватает этого форума.
Если идти дальше, то нужен отдельный домен для системы, где можно было бы вести и освещать ход разработки и иметь полную свободу действий.
caballero
Отправлено: 15 Марта, 2014 - 19:16:20
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Если идти дальше, то нужен отдельный домен для системы, где можно было бы вести и освещать ход разработки и иметь полную свободу действий.
гитхаба вполне хватит. кому надо запустить сайт запустит у себя.
Цитата:
Если просто пообсуждать и даже немного попрототипировать, то для этого хватает этого форума.
если поговорить ниачем то да.
тебе намекают насчет кодирования хотя бы прототипа. Это к тому что теоретизировать можно сколько угодно. А когда надо реализовывать, сразу становится видно чего эти теории стоят.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.