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 [4]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (6): « 1 2 3 [4] 5 6 »   

> Без описания
digi
Отправлено: 16 Марта, 2014 - 05:13:54
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




man1, кстати под какой лицензией хочешь реализовать цмс-ку? если отрытую, то надо сразу подумать о документации, стиле кодирования, инструментах для сообщества и т.д... ну конечно же даже в прототипе написать код так, чтобы опытные кодеры не проблевались ;)))
 
 Top
digi
Отправлено: 21 Марта, 2014 - 19:24:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




man1, ты же не куда не продал? ;)) а то у темки уже почти 700 просмотров, видимо все хотят увидеть продолжение! Улыбка
 
 Top
caballero
Отправлено: 21 Марта, 2014 - 19:44:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




и шо полезного там можно увидеть?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
man1
Отправлено: 22 Марта, 2014 - 10:05:42
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




МЫСЛЬ 4

Как мог бы быть реализован модуль? Обычно модуль состоит из папки и нескольких файлов в ней (сведения о модуле, инсталлятор, деинсталлятор, библиотека, файлы). Т.к. у меня стоит задача унификации формата модуля, то при первом приближении модулем могло бы являться нечто такое:

/data/ - директория данных установленных модулей
/modules/module-1.0.0/actions/ - исходники (библиотеки) кода обработчиков данных (действий)
/modules/module-1.0.0/files/ - файлы (изображения и т.д.)
/modules/module-1.0.0/indexfile/ - файлы дополнения к общему index.php
/modules/module-1.0.0/config.inc - файл унифицированной конфигурации функциональности модуля
/modules/module-1.0.0/license.txt - текст лицензионного соглашения к модулю
/modules/module-1.0.0-1.0.1/actions/
/modules/module-1.0.0-1.0.1/files/
/modules/module-1.0.0-1.0.1/indexfile/
/modules/module-1.0.0-1.0.1/config.inc
/modules/module-1.0.0-1.0.1/license.txt
/modules/system-1.0.0/actions/
/modules/system-1.0.0/files/
/modules/system-1.0.0/indexfile/
/modules/system-1.0.0/config.inc
/modules/system-1.0.0/license.txt
/system/modules.txtхранение списка установленных модулей (начальные системные модули предустановлены)
.htaccess - единый файл стартер для всех проектов (сайтов)
index.php - единый файл стартер для всех проектов (сайтов)

Что из себя представляет config.inc?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $module = array(
  3.         "MODULE" => array(
  4.                 "project" => array(
  5.                         "VERSION" => array(
  6.                                 "1.0.0" => array(
  7.                                         "RU" => array("Управление веб-проектами (сайтами)"),
  8.                                         "EN" => array(),
  9.                                         "VERSION_STATE" => array("alpha"),
  10.                                         "VERSION_DATE" => array("12.03.2014"),
  11.                                         "VERSION_PREVIOUS" => array(),
  12.                                         "AUTHOR" => array(),
  13.                                         "COPYRIGHT" => array(),
  14.                                 ),
  15.                         ),
  16.                 ),
  17.         ),
  18. );
  19. $object = array(
  20.         "OBJECT" => array(
  21.                 "project" => array(
  22.                         "ACTION" => array(
  23.                                 "create" => array(
  24.                                         "MODULE" => array("project-1.0.0"),
  25.                                         "RU" => array("Создание веб-проекта"),
  26.                                         "EN" => array(),
  27.                                 ),
  28.                                 "select" => array(
  29.                                         "MODULE" => array("project-1.0.0"),
  30.                                         "RU" => array("Выборка веб-проекта"),
  31.                                         "EN" => array(),
  32.                                 ),
  33.                                 "update" => array(
  34.                                         "MODULE" => array("project-1.0.0"),
  35.                                         "RU" => array("Изменение веб-проекта"),
  36.                                         "EN" => array(),
  37.                                 ),
  38.                                 "move" => array(
  39.                                         "MODULE" => array("project-1.0.0"),
  40.                                         "RU" => array("Перемещение веб-проекта"),
  41.                                         "EN" => array(),
  42.                                 ),
  43.                                 "delete" => array(
  44.                                         "MODULE" => array("project-1.0.0"),
  45.                                         "RU" => array("Удаление веб-проекта"),
  46.                                         "EN" => array(),
  47.                                 ),
  48.                                 "request" => array(
  49.                                         "MODULE" => array("project-1.0.0"),
  50.                                         "RU" => array("Получение свойств веб-проекта по данным запроса"),
  51.                                         "EN" => array(),
  52.                                 ),
  53.                         ),
  54.                         "INDEXFILE" => array(
  55.                                 "addon1.inc" => array(
  56.                                         "MODULE" => array("project-1.0.0"),
  57.                                         "LINE" => array("1"),
  58.                                 ),
  59.                         ),
  60.                         "DATA" => array(
  61.                                 "projects" => array(
  62.                                         "STORAGE" => array("file"),
  63.                                         "STRUCTURE" => array("list"),
  64.                                         "ATTRIBUTE" => array(
  65.                                                 "id" => array(
  66.                                                         "RU" => array("уникальный ID"),
  67.                                                         "EN" => array(),
  68.                                                         "TYPE" => array("id"),
  69.                                                 ),
  70.                                                 "domain" => array(
  71.                                                         "RU" => array("назначенный домен (например, site.ru, www.sub.site2.ru); поддержка кириллицы"),
  72.                                                         "EN" => array(),
  73.                                                         "TYPE" => array("text"),
  74.                                                 ),
  75.                                                 "uri" => array(
  76.                                                         "RU" => array("префикс URI корневой директории проекта (например, /, /site2/); по краям слэш; поддержка кириллицы"),
  77.                                                         "EN" => array(),
  78.                                                         "TYPE" => array("text"),
  79.                                                 ),
  80.                                         ),
  81.                                 ),
  82.                         ),
  83.                 ),
  84.         ),
  85. );
  86. ?>

(Отредактировано автором: 22 Марта, 2014 - 10:06:09)

 
 Top
digi
Отправлено: 22 Марта, 2014 - 15:11:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




man1, ну допустим ;) пока что, мягко говоря "не впечатляет" ;) но будет интереснее, когда ты покажешь код какого-то полезного модуля, например блога с тэгми ;)

и ответь на сообщение от 16 Марта, 2014 - 09:13:54 ;)
 
 Top
man1
Отправлено: 22 Марта, 2014 - 15:32:03
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




digi пишет:
man1, ну допустим ;) пока что, мягко говоря "не впечатляет" ;) но будет интереснее, когда ты покажешь код какого-то полезного модуля, например блога с тэгми ;)

и ответь на сообщение от 16 Марта, 2014 - 09:13:54 ;)


Отлично! Вот и опиши что не впечатляет.

Я уже показал минимальный код модуля, далее он устанавливается в систему и функционирует. Делать блог не вижу смысла пока не будут сделаны системные модули. Ну и показать это все в действии, означало бы что система уже готова, а это еще не так.

Если это сообщение про лицензии, то если систему делать полностью бесплатную, то мне и людям которые вовлеклись бы в разработку такой вариант будет интересен только на начальном этапе, далее нужно будет оставлять минимальный комплект бесплатным, а готовые решения и индивидуальные доработки это уже за деньги.
 
 Top
digi
Отправлено: 22 Марта, 2014 - 19:14:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




man1, код каких цмс-ок и фреймворков изучал?

то, что ты привел - это конфиг чего-то непонятного Улыбка) вот "блог" - это уже понятно будет Улыбка и не имеет значение какие там будут еще "модули", блог всё равно останется блогом.
 
 Top
man1
Отправлено: 22 Марта, 2014 - 19:45:01
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




digi пишет:
man1, код каких цмс-ок и фреймворков изучал?

то, что ты привел - это конфиг чего-то непонятного вот "блог" - это уже понятно будет и не имеет значение какие там будут еще "модули", блог всё равно останется блогом.


Ты все так а норовишь помериться кодом...

Правильно, это конфиг! Модули реализуются как дополнения к общему конфигу системы.

Что такое блог? С позиции системы это набор типов данных и обработчиков этих данных, а также сниппетов, в которых эти обработчики связаны с элементами графического интерфейса (админки и/или сайта). То есть в конфиге модуля описывается какие данные надо создать, какие добавить файлы действий (actions), а если модулю требуется исполнить что-то до отображения страницы (и вложенных сниппетов), то создаешь дополнение к index.php (например, для модуля users это может быть код, который устанавливает текущие права пользователя в некую переменную, которую потом можно использовать в макете страницы или сниппета).
 
 Top
caballero
Отправлено: 22 Марта, 2014 - 20:08:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




man1
имеется ввиду чтобы ты написал простейший модуль Например блог с простейшими одноуровневыми коментами.
Для того чтобы было видно как это выглядит и работает на практике.

Ты написал некий конфиг типа сферического коня в вакууме.

Поэтому попробуй написать реальной код чтобы самого себя проверить насколько реально то что ты предлагаешь.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
digi
Отправлено: 29 Марта, 2014 - 18:36:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




man1, ну как там у тебя дела продвигаются? Улыбка) нафигачил чего-нибудь? ;)
 
 Top
man1
Отправлено: 31 Марта, 2014 - 09:50:33
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




digi пишет:
man1, ну как там у тебя дела продвигаются? нафигачил чего-нибудь? ;)

Продолжаю развивать свою мысль об унификации. Если ты про блог, то его не реализовывал. Сейчас пишу небольшую субд на файлах т.к. на данном этапе все уперлось в работу с данными и требуется сделать, чтобы она могла напрямую принимать конфиги модулей для установки/деустановки модулей.
 
 Top
esterio
Отправлено: 31 Марта, 2014 - 11:02:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




man1 пишет:
Сейчас пишу небольшую субд на файлах

[SARCASM]Продолжайте в том же духе[/SARCASM]

По сабжу serialize, unserialize
 
 Top
man1
Отправлено: 31 Марта, 2014 - 11:15:33
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




esterio пишет:
По сабжу serialize, unserialize

Этот вариант уже пройден Улыбка Но он имеет место быть в определенных случаях.
 
 Top
caballero
Отправлено: 31 Марта, 2014 - 11:39:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




по моему человеку который городит БД на файлах пытаться писать CMS мягко говоря рановато.

Отсюда же непонимание что никакая универсальность невозможна. Просто потому что это выльется в такое количество настроек и конфигов что в них просто никто не станет разбиратся


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
digi
Отправлено: 31 Марта, 2014 - 12:05:33
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




круто! Улыбка)) ну раз "все уперлось в субд на файлах", тогда уже можно сделать выводы, что будет потом ;)

вообще наверно последний вопрос всё же задам: какие цмс-ки, фреймворки и библиотеки ты уже изучил?
 
 Top
Страниц (6): « 1 2 3 [4] 5 6 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB