Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отделение файловой системы от структуры сайта 
:(
    Опции темы
bars80080
Дата 22.9.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



сразу говорю, что вопрос несколько бестолковый

под файловой системой понимаю физическое распределение файлов на сервере по директориям
под структурой - систему url адресов, ведущих на разные страницы

в случае со статическим сайтом, там всё понятно, делаем папку directory, в неё кладём файлы page1.html, page2.html и т.д. и получаем адреса directory/page1.html , directory/page2.html

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

у меня есть старый движок неких товарищей, так они валили все файлы (причём даже чисто html-страницы там тоже имели расширение .php) в один каталог. получилась настоящая свалка, в которой приходится часто искать где же этот скрипт

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

вот собственно вопрос, насколько сильно вы считаете их стоит разделить, и/или какая система кажется на ваш взгляд удобней?
PM MAIL WWW   Вверх
Ипатьев
Дата 22.9.2009, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



нормальный вариант, учитывая его исчезающую редкость.
вот я бы лично, учитывая частоту, с которой встречаются подобные задачи, ни за что бы не стал задумываться об обобщенном решении для них.
PM MAIL   Вверх
bars80080
Дата 22.9.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Ипатьев @  22.9.2009,  13:47 Найти цитируемый пост)
учитывая его исчезающую редкость.

а как не редко?


Цитата(Ипатьев @  22.9.2009,  13:47 Найти цитируемый пост)
ни за что бы не стал задумываться об обобщенном решении для них

а тут и не универсальная задача, а вполне конкретная. сайт похож на дерево разделы-подразделы-страницы, n-го порядка

иметь всё в одной папке - сущий бардак
противоположный вариант озвучивал главнокомандующий, он предлагал ориентировку оставить серверу, пусть он сам находит нужный файл, а в файле уже прописывать <?php include('initialization.php'); ?>. но, ИМХО, бред, и абсолютно не гибко


Цитата(Ипатьев @  22.9.2009,  13:47 Найти цитируемый пост)
учитывая частоту, с которой встречаются подобные задачи, ни за что бы не стал задумываться об обобщенном решении для них. 

по-моему, это один из столбов, который определяет работу всего механизма сайта. два вышеописанных варианта потребуют под себя разные реализации механизмов подключения и взаимной интеграции модулей
PM MAIL WWW   Вверх
Ипатьев
Дата 22.9.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(bars80080 @  22.9.2009,  14:41 Найти цитируемый пост)
а как не редко?

обычно данные лежат в базе, а не на диске, мне кажется.

Цитата(bars80080 @  22.9.2009,  14:41 Найти цитируемый пост)
а тут и не универсальная задача, а вполне конкретная. сайт похож на дерево разделы-подразделы-страницы, n-го порядка

я так понял, что задача не "сайт похож на дерево", а "при перемещении модуля из одного раздела сайта в другой, происходит физическое перемещение всей директории (путём rename).".
как часто происходят такие перемещения, чтобы задумываться над глобальным решением этой задачи?

какой еще главнокомандующий?
речь вообще о чем? о размещении статических страниц в каталогах или о структуре расположения скриптов сайта?
я так понял, что речь о первом.
PM MAIL   Вверх
bars80080
Дата 22.9.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Ипатьев @  22.9.2009,  14:57 Найти цитируемый пост)
обычно данные лежат в базе, а не на диске, мне кажется.

не, я не говорю про такую частность, как содержимое новостей. для меня это один модуль - новостной, то что он там показывает в структуру не входит, даже если url адрес существует в виде news/article-about-php специально для каждой новости

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

Цитата(Ипатьев @  22.9.2009,  14:57 Найти цитируемый пост)
как часто происходят такие перемещения, чтобы задумываться над глобальным решением этой задачи?

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

Цитата(Ипатьев @  22.9.2009,  14:57 Найти цитируемый пост)
речь вообще о чем? о размещении статических страниц в каталогах или о структуре расположения скриптов сайта?
я так понял, что речь о первом. 

не, о втором. скрипты в данном случае выступаю почти независимыми единицами. физически - это папоча с файлом script.php и дополнительными файлами: шаблоны и библиотеки. плюс вложенные модули
статические страницы тоже могут быть представленны в виде физических страничек page.html и лежать внутри папки модуля, если по этим страницам не планируется ничего больше, кроме как вставка их содержимого в общий документ. ведь если не планируется никакого поиска или выполнения чего бы то ни было, то смысл их запихивать в базу?
PM MAIL WWW   Вверх
skyboy
Дата 22.9.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Ипатьев @  22.9.2009,  13:57 Найти цитируемый пост)
какой еще главнокомандующий?

видать, вспоминает товарища Feldmarschall'a

PM MAIL   Вверх
Ипатьев
Дата 22.9.2009, 15:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(bars80080 @  22.9.2009,  15:12 Найти цитируемый пост)
не, о втором.

тогда я вообще не понял, в чем вопрос.
есть структура сайта. она лежит в XML или в БД.
в этой структуре есть привязка "уровень меню - путь на диске".
все перетасовки в меню делаются исключительно в этом XML.
зачем что-то двигать на самом диске - я не понимаю.
PM MAIL   Вверх
Simpliest
Дата 22.9.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Ипатьев @  22.9.2009,  15:21 Найти цитируемый пост)
зачем что-то двигать на самом диске - я не понимаю. 

Я так понял его не устраивают сотни и тысячи файлов скриптов которые лежат в одном каталоге, причем возможно с ресурсами (картинки, яваскрипт и прочее).


--------------------
user posted image
PM   Вверх
Ипатьев
Дата 22.9.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

Добавлено через 4 минуты и 56 секунд
Он говорит о том, что папка feedback лежит в папке hotel_service
И что если эту папку переместить...

А я говорю - а с чего это вдруг мне понадобится эту папку перемещать?

PM MAIL   Вверх
bars80080
Дата 22.9.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Ипатьев @  22.9.2009,  17:02 Найти цитируемый пост)
Он говорит о том, что папка feedback лежит в папке hotel_service
И что если эту папку переместить...

если папка feedback лежит в папке hotel_service, и при перемещении в структуре модуля feedback, не переместить физически папку feedback, то может возникнуть ситуация, когда hotel_service будет удалён, а вместе с ним и весь внутряк, хотя feedback должен продолжать работать


Цитата(Simpliest @  22.9.2009,  16:58 Найти цитируемый пост)
 так понял его не устраивают сотни и тысячи файлов скриптов которые лежат в одном каталоге

очень не устраивает. настолько не устраивает, что выкидываю эту идею сразу

правда, они не лежат с картинками, скриптами, стилями и прочим медиа в одном каталоге
PM MAIL WWW   Вверх
Simpliest
Дата 22.9.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(bars80080 @  22.9.2009,  17:53 Найти цитируемый пост)
хотя feedback должен продолжать работать

Если feedback лежит внутри hotel_service , то это значит только одно - ни в каком другом месте оно работать не будет.

Если тебе нужен feedback как независимая часть, то так его и реализуй. 
Отслеживай зависимости и используй модули как сервисы.
Т.е. ему должно быть глубоко безразлично кто его вызывает, если вызов соответствует API.

Зачем ты его клал в hotel_service?
Там может лежать, скажем, hotel_feedback, который наследуется от feedback.




--------------------
user posted image
PM   Вверх
Ипатьев
Дата 22.9.2009, 19:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



По-моему, это надуманная проблема. 
Simpliest прав - если фидбэк нужен везде, то почему он лежит в сервисе? 
если сервис перемещается со всеми файлами, то почему куда-то должен пропасть фидбэк?

Я бы сделал просто каталог для модулей. В которых все модули равноправны. А иерархию выстраивал в БД.

PM MAIL   Вверх
bars80080
Дата 22.9.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Simpliest @  22.9.2009,  18:01 Найти цитируемый пост)
Если feedback лежит внутри hotel_service , то это значит только одно - ни в каком другом месте оно работать не будет
почему? очень даже будет. не очень давно запихал почти целый сайт в качестве одного из модулей. вообще ничего не пришлось переписывать
Цитата(Ипатьев @  22.9.2009,  19:01 Найти цитируемый пост)
если фидбэк нужен везде, то почему он лежит в сервисе? 

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

Цитата(Simpliest @  22.9.2009,  18:01 Найти цитируемый пост)
Зачем ты его клал в hotel_service?

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

Цитата(Ипатьев @  22.9.2009,  19:01 Найти цитируемый пост)
если сервис перемещается со всеми файлами, то почему куда-то должен пропасть фидбэк?

я написал: если сервис удаляется. он удаляется и из БД, и с диска. рекурсивно сносится вся директория модуля
PM MAIL WWW   Вверх
Simpliest
Дата 22.9.2009, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(bars80080 @  22.9.2009,  19:15 Найти цитируемый пост)
в один ряд сотню модулей класть не хочется

Библиотеки и Иерархия.

Больше тебе ничего не поможет


--------------------
user posted image
PM   Вверх
Ипатьев
Дата 22.9.2009, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(bars80080 @  22.9.2009,  19:15 Найти цитируемый пост)
в один ряд сотню модулей класть не хочется

речь о сайте, с которого начался разговор?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.