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]

 PHP.SU

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


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

> Без описания
man1
Отправлено: 14 Марта, 2014 - 22:07:03
Post Id


Новичок


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


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




caballero пишет:
большинство современных CMS делаются модульными.
и в чем отличие?
не говоря о том что из модульности никак не вытекает универсальность

Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.

Но может вы дадите свое определение универсальности, чтобы я мог глубже понять, а может и уточнить свое.
 
 Top
caballero
Отправлено: 14 Марта, 2014 - 22:38:11
Post Id


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


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


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




Цитата:
Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.

Joomla ?


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


Посетитель


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


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




man1 пишет:
Вон у тебя в htaccess есть favicon. Что бы это значило при многосайтовости? А то, что либо пришлось бы класть свой htaccess в корневую папку каждого сайта, либо здесь же прописать favicon для всех сайтов (каждому свой)! Вот здесь-то (но не ограничиваясь этим) и нужно, чтобы модуль умел пункт 1.


взял его со старого проекта, будем считать, что будет достаточно вот такого .htaccess

CODE (htmlphp):
скопировать код в буфер обмена
  1. <IfModule mod_rewrite.c>
  2.    RewriteEngine on
  3.    RewriteCond %{REQUEST_FILENAME} !-f
  4.    RewriteCond %{REQUEST_FILENAME} !-d
  5.    RewriteRule ^.*$ index.php [L]
  6. </IfModule>


а также вот такого web.config
CODE (html):
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3.     <system.webServer>
  4.         <httpErrors errorMode="Custom">
  5.             <remove statusCode="403" subStatusCode="-1" />
  6.             <error statusCode="403" path="/app.php" responseMode="ExecuteURL" />
  7.         </httpErrors>
  8.         <rewrite>
  9.             <rules>
  10.                 <rule name="htaccess" stopProcessing="true">
  11.                     <match url="^.*$" ignoreCase="false" />
  12.                     <conditions logicalGrouping="MatchAll">
  13.                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
  14.                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
  15.                         <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
  16.                     </conditions>
  17.                     <action type="Rewrite" url="app.php" />
  18.                 </rule>
  19.             </rules>
  20.         </rewrite>
  21.         <defaultDocument>
  22.             <files>
  23.                 <clear />
  24.                 <add value="index.php" />
  25.                 <add value="app.php" />
  26.                 <add value="index.htm" />
  27.                 <add value="index.html" />
  28.             </files>
  29.         </defaultDocument>
  30.         <urlCompression doStaticCompression="false" />
  31.     </system.webServer>
  32. </configuration>


для конфигурации nginx+fpm достаточно будет указать:

CODE (htmlphp):
скопировать код в буфер обмена
  1. if (!-e $request_filename ) {
  2.     rewrite  ^/.*   /index.php  break;
  3. }


man1 пишет:
Что касается добавок к index.php (пункт 2), конечно возможно прописать в нем пару строк кода, но ведь эти строки все равно будут вызывать подключения добавок (инклюдов и т.п.) от других модулей. То есть сам факт наличия добавок к стартовому файл на лицо (а значит это уже аспект модульности), а реализовать можно в духе как у тебя, но и по-другому. тоже


index.php - это "фронт-контроллер", он не должен быть изменяемым - это просто входная точка в приложение и всё... "модули" пускай уже через конфигурацию чего-то там меняют Улыбка

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

man1 пишет:
Речь об универсальности системы, проявляющееся в том, что чтобы полностью изменить решение созданное на данной системе не потребуются костыли, а все в рамках унифицированных модулей.


"многосайтовость" - это "решение" или "потребуется костыль" ? ;)

man1 пишет:
Но может вы дадите свое определение универсальности, чтобы я мог глубже понять, а может и уточнить свое.


а какое у тебя определение "универсальности"? ;)

(Отредактировано автором: 15 Марта, 2014 - 04:50:29)

 
 Top
man1
Отправлено: 15 Марта, 2014 - 10:14:25
Post Id


Новичок


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


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




digi пишет:
взял его со старого проекта, будем считать, что будет достаточно вот такого .htaccess

Так можно, при условии что вам не требуется управлять путями (uri) к директориям файлов сайтов (в том числе favicon).

digi пишет:
index.php - это "фронт-контроллер", он не должен быть изменяемым - это просто входная точка в приложение и всё... "модули" пускай уже через конфигурацию чего-то там меняют

Ты использовал много специфических терминов, поэтому я не уверен что могу корректно тебя понять. Для меня index.php это просто пустой стартовый файл скрипта. Обеспечить чтобы что-то в нем происходило - это дело модулей. Например, модуль project (site) первым делом выполняет действие по определению домена из request. Вот он определил что сайт к которому обратились есть в базе и его domain=test.ru, а далее установил в переменную свойства текущего проекта. Все, добавка к index.php от модуля project закончена. Далее может вступить добавка от модуля page, которая тоже разберет запрос и будет пытаться собрать и отобразить страницу и т.д. Также добавка от модуля user, которая установит в переменную текущие права пользователя (если он и они есть) и т.д.
 
 Top
caballero
Отправлено: 15 Марта, 2014 - 10:34:37
Post Id


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


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


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




Цитата:
Обеспечить чтобы что-то в нем происходило - это дело модулей. Например, модуль project (site) первым делом выполняет действие по определению домена из request. Вот он определил что сайт к которому обратились есть в базе и его domain=test.ru, а далее установил в переменную свойства текущего проекта. Все, добавка к index.php от модуля project закончена. Далее может вступить добавка от модуля page, которая тоже разберет запрос и будет пытаться собрать и отобразить страницу и т.д. Также добавка от модуля user, которая установит в переменную текущие права пользователя (если он и они есть) и т.д.

по сути дела так работают все современные СMS. Посему так и непонятно что нового хочешь предложить.


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


Новичок


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


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




caballero пишет:
по сути дела так работают все современные СMS. Посему так и непонятно что нового хочешь предложить.

Да, в модульности нового мало. Что-то новое может быть именно в версии реализации модульности, т.е. сделать еще проще, логичнее, читабельнее и т.д.
 
 Top
digi
Отправлено: 15 Марта, 2014 - 15:20:17
Post Id


Посетитель


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


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




man1 пишет:
Да, в модульности нового мало. Что-то новое может быть именно в версии реализации модульности, т.е. сделать еще проще, логичнее, читабельнее и т.д.


это будет очень позитивно, но если не пытаться оперировать понятиями "добавка в index.php" Улыбка)) а также не хакать реврайты, иначе всё будет очень сложно и не читабельно...

какие у тебя мысли есть на тему модулей, какие они должны быть, какой у них должен быть API, как они будут встраиваться в систему и как взаимодействовать с ядром и между собой?

кстати, кинь ссылку на твой аккаунт на гитхаба, посмотреть как ты код пишешь ;)

(Отредактировано автором: 15 Марта, 2014 - 15:20:53)

 
 Top
man1
Отправлено: 15 Марта, 2014 - 16:25:14
Post Id


Новичок


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


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




digi пишет:
это будет очень позитивно, но если не пытаться оперировать понятиями "добавка в index.php" а также не хакать реврайты, иначе всё будет очень сложно и не читабельно...

Не сложно, а не привычно. Если расширить границы привычного, то становится нормально.

digi пишет:
какие у тебя мысли есть на тему модулей, какие они должны быть, какой у них должен быть API, как они будут встраиваться в систему и как взаимодействовать с ядром и между собой?

Я уже описал базовые мысли, дальше только если начинать реализовывать механизм модульности и там по ходу смотреть и уточнять.

digi пишет:
кстати, кинь ссылку на твой аккаунт на гитхаба, посмотреть как ты код пишешь

Меня там нет. Если дойдет до кодирования в этой ветке, тогда увидишь. Скажу только что стремлюсь по максимуму использовать простоту и особенности пхп и не люблю оборачивать вывод hello world в несколько килобайтов "лишнего" кода.
 
 Top
digi
Отправлено: 15 Марта, 2014 - 16:31:49
Post Id


Посетитель


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


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




man1, эээх Улыбка) это что, занавес чтоли? Улыбка) ну чтож, давай тогда начинай креативить Улыбка будем наблюдать за кодом Улыбка
 
 Top
man1
Отправлено: 15 Марта, 2014 - 16:47:20
Post Id


Новичок


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


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




digi пишет:
man1, эээх это что, занавес чтоли? ну чтож, давай тогда начинай креативить. будем наблюдать за кодом

Какой занавес? У меня нет ответов на все вопросы, я нахожусь в поиске.

Очевидно что сначала надо реализовать модульность, а далее уже распихивать по модулям функционал. В базовом комплекте должны быть следующие модули:

system - система, включает в себя единую функцию интерфейса модулей query($cmd, $data)
module - управление модулями (установка, отключение, получение списка)
updater - удаленное скачивание обновлений системы от производителя
admin - административная панель (это тоже проект созданный на этой же системе)
backup - резервирование

project - управление веб-проектами (сайтами), создание, изменение, удаление
page - управление страницами
theme - управление темами оформления
template - управление шаблонами страниц (включают header, footer)
snippet - управление включенными блоками одно- или много-кратного использования
user - пользователи, учетные записи, виды прав

(Отредактировано автором: 15 Марта, 2014 - 17:01:18)

 
 Top
digi
Отправлено: 15 Марта, 2014 - 16:54:14
Post Id


Посетитель


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


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




распиши, что они значат?

можно кстати, как вариант, расписать пример использования т.е. берем простейшую вёрстку и конструируем на гопотетический цмс-ке сайтик Улыбка например чтобы там был блог с тэгами, фотогалерейка, а также каталог и в идеале еще и возможность заказов товаров из каталога...
 
 Top
man1
Отправлено: 15 Марта, 2014 - 17:07:17
Post Id


Новичок


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


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




digi пишет:
распиши, что они значат?

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

Расписал.

Теоретизировать можно. Но не вижу возможности реализовать прототип системы с минимальным функционалом (новости, каталог и т.д.) без первоначальной реализации механизма модульности. Все упирается в это.
 
 Top
digi
Отправлено: 15 Марта, 2014 - 17:12:11
Post Id


Посетитель


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


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




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


т.е. следующим этапом будет код с прототипом на гитхабе? ;)
 
 Top
man1
Отправлено: 15 Марта, 2014 - 17:32:20
Post Id


Новичок


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


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




digi пишет:
т.е. следующим этапом будет код с прототипом на гитхабе?

Если просто пообсуждать и даже немного попрототипировать, то для этого хватает этого форума.

Если идти дальше, то нужен отдельный домен для системы, где можно было бы вести и освещать ход разработки и иметь полную свободу действий.
 
 Top
caballero
Отправлено: 15 Марта, 2014 - 19:16:20
Post Id


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


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


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




Цитата:
Если идти дальше, то нужен отдельный домен для системы, где можно было бы вести и освещать ход разработки и иметь полную свободу действий.

гитхаба вполне хватит. кому надо запустить сайт запустит у себя.

Цитата:
Если просто пообсуждать и даже немного попрототипировать, то для этого хватает этого форума.

если поговорить ниачем то да.

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

(Отредактировано автором: 15 Марта, 2014 - 19:20:42)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 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