![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
сразу говорю, что вопрос несколько бестолковый
под файловой системой понимаю физическое распределение файлов на сервере по директориям под структурой - систему url адресов, ведущих на разные страницы в случае со статическим сайтом, там всё понятно, делаем папку directory, в неё кладём файлы page1.html, page2.html и т.д. и получаем адреса directory/page1.html , directory/page2.html в динамическом варианте мы можем изголяться как-угодно либо также, оставляя на долю сервера решать проблемы адресов, либо беря под свой контроль у меня есть старый движок неких товарищей, так они валили все файлы (причём даже чисто html-страницы там тоже имели расширение .php) в один каталог. получилась настоящая свалка, в которой приходится часто искать где же этот скрипт рассуждая пальцами по клаве, как-то пришёл к варианту, где подчинённые страницы находятся внутри модуля (папки), который служит их "градообразующим предприятием". то есть почти статический вариант, за исключением того, что все файлы сидят вне видимости из сети, соответствующим образом инклудятся, а также в папке модуля располагаются прочие подсобные файлы (шаблоны, библиотеки классов и прочая). в этой системе, при перемещении модуля из одного раздела сайта в другой, происходит физическое перемещение всей директории (путём rename). что мне не сильно нравится, хотелось бы всё-таки иметь более независимую от структуры сайта файловую систему. вот собственно вопрос, насколько сильно вы считаете их стоит разделить, и/или какая система кажется на ваш взгляд удобней? |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
нормальный вариант, учитывая его исчезающую редкость.
вот я бы лично, учитывая частоту, с которой встречаются подобные задачи, ни за что бы не стал задумываться об обобщенном решении для них. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а как не редко? а тут и не универсальная задача, а вполне конкретная. сайт похож на дерево разделы-подразделы-страницы, n-го порядка иметь всё в одной папке - сущий бардак противоположный вариант озвучивал главнокомандующий, он предлагал ориентировку оставить серверу, пусть он сам находит нужный файл, а в файле уже прописывать <?php include('initialization.php'); ?>. но, ИМХО, бред, и абсолютно не гибко
по-моему, это один из столбов, который определяет работу всего механизма сайта. два вышеописанных варианта потребуют под себя разные реализации механизмов подключения и взаимной интеграции модулей |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
обычно данные лежат в базе, а не на диске, мне кажется.
я так понял, что задача не "сайт похож на дерево", а "при перемещении модуля из одного раздела сайта в другой, происходит физическое перемещение всей директории (путём rename).". как часто происходят такие перемещения, чтобы задумываться над глобальным решением этой задачи? какой еще главнокомандующий? речь вообще о чем? о размещении статических страниц в каталогах или о структуре расположения скриптов сайта? я так понял, что речь о первом. |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
не, я не говорю про такую частность, как содержимое новостей. для меня это один модуль - новостной, то что он там показывает в структуру не входит, даже если url адрес существует в виде news/article-about-php специально для каждой новости я говорю о наборе этих модулей. их отличает уникальность. допустим вот модуль регистрации на сайте, вот модуль новостей, вот модуль гостевой книги. один модуль может структуруно находится внутри другого, хотя легко может быть перемещён. к примеру, модуль отзывов о гостиничном сервисе, расположенный внутри модуля отелей.
бывает, и происходят. конечно, в случае построения или изменения структуры сайта. но с помощью налаженного механизма это делается нажатием на три кнопки в интерфейсе.
не, о втором. скрипты в данном случае выступаю почти независимыми единицами. физически - это папоча с файлом script.php и дополнительными файлами: шаблоны и библиотеки. плюс вложенные модули статические страницы тоже могут быть представленны в виде физических страничек page.html и лежать внутри папки модуля, если по этим страницам не планируется ничего больше, кроме как вставка их содержимого в общий документ. ведь если не планируется никакого поиска или выполнения чего бы то ни было, то смысл их запихивать в базу? |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
видать, вспоминает товарища Feldmarschall'a |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
тогда я вообще не понял, в чем вопрос. есть структура сайта. она лежит в XML или в БД. в этой структуре есть привязка "уровень меню - путь на диске". все перетасовки в меню делаются исключительно в этом XML. зачем что-то двигать на самом диске - я не понимаю. |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Я так понял его не устраивают сотни и тысячи файлов скриптов которые лежат в одном каталоге, причем возможно с ресурсами (картинки, яваскрипт и прочее). |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Я так тоже подумал сначала, но, судя по всему, эти файлы послужили только толчком к размышлениям и для сбивания с толку собеседников.
А размышления - о структуре расположения файлов проекта на диске. Нормального проекта. Добавлено через 4 минуты и 56 секунд Он говорит о том, что папка feedback лежит в папке hotel_service И что если эту папку переместить... А я говорю - а с чего это вдруг мне понадобится эту папку перемещать? |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
если папка feedback лежит в папке hotel_service, и при перемещении в структуре модуля feedback, не переместить физически папку feedback, то может возникнуть ситуация, когда hotel_service будет удалён, а вместе с ним и весь внутряк, хотя feedback должен продолжать работать
очень не устраивает. настолько не устраивает, что выкидываю эту идею сразу правда, они не лежат с картинками, скриптами, стилями и прочим медиа в одном каталоге |
||||
|
|||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Если feedback лежит внутри hotel_service , то это значит только одно - ни в каком другом месте оно работать не будет. Если тебе нужен feedback как независимая часть, то так его и реализуй. Отслеживай зависимости и используй модули как сервисы. Т.е. ему должно быть глубоко безразлично кто его вызывает, если вызов соответствует API. Зачем ты его клал в hotel_service? Там может лежать, скажем, hotel_feedback, который наследуется от feedback. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
По-моему, это надуманная проблема.
Simpliest прав - если фидбэк нужен везде, то почему он лежит в сервисе? если сервис перемещается со всеми файлами, то почему куда-то должен пропасть фидбэк? Я бы сделал просто каталог для модулей. В которых все модули равноправны. А иерархию выстраивал в БД. |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
в данном случае, он нужен только в сервисе, потому там и оказался не знал куда его ещё положить. именно поэтому и возник вопрос. в один ряд сотню модулей класть не хочется. много добавляется, много выкидывается. когда мешаешь всё в одну кучу, бардак в каталоге трансформируется в бардак в голове. поэтому стал модули вкладывать, но с ними вот эта проблема
я написал: если сервис удаляется. он удаляется и из БД, и с диска. рекурсивно сносится вся директория модуля |
||||
|
|||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Библиотеки и Иерархия. Больше тебе ничего не поможет |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
не вижу никакой проблемы.
скорее всего, эти "модули" просто дублируют друг друга. то есть, либо полный рефакторинг, либо плюнуть и оставить, как есть. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
нет, ничего не дублирует. но видно, оставить как есть придётся
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |