зачем выносят скрипты выше document_root?

fixxxer

К.О.
Партнер клуба
зададим вопрос иначе, зачем что-то кроме статики класть в докрут?
 

Духовность™

Продвинутый новичок
какая разница что класть в докрут? что от этого изменится?

-~{}~ 21.10.10 21:01:

я так понимаю, единственная причина отделять код от докрута - это использование кода несколькими проектами. так?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
triumvirat
ничего не мешает код использовать 2-3-4... сайтами и в том случае, если он лежит в руте одного из сайтов)

Лично я прямого профита от этого не вижу.
 

weregod

unserializer
triumvirat
пока не начнёте гонять шареный код, не поймёте
"докрут" - локальная характеристика (суть "для каждого сайта своя")
 

Духовность™

Продвинутый новичок
weregod
объясните, я не понял. что вы вкладываете в понятие шареный?

-~{}~ 21.10.10 22:43:

Что бы запретить прямой доступ по http до файла
это не причина. Доступ по http перекрывается на уровне Apache через htaccess.
 

Dovg

Продвинутый новичок
в докруте должен лежать только index.php. Ну может еще статика :)

triumvirat
root - это точка входа в приложение. Она должна быть одна. По-моему очевидно, что ничего кроме, кроме собственно точки входа там быть не должно.
 

Splurov

Новичок
Автор оригинала: triumvirat
это не причина. Доступ по http перекрывается на уровне Apache через htaccess.
Дополнительная страховка от "забыл". Бывают случаи, когда сайт деплоят не те, кто его разрабатывал. А инструкции никто внимательно читать не любит.
 

Духовность™

Продвинутый новичок
в докруте должен лежать только index.php
кому должен? :)

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

-~{}~ 21.10.10 22:56:

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

craz

Нестандартное звание
зачем тебе закрывать доступ на папки(апч хтацес), если можно их положить туда откуда их не возьмет никто кроме пхп и не париться? вообще это для удобства... к примеру zend вон разворачиваеться только так... делать редиректы меня к примеру ломает поэтому и и оставляю как он развернеться...
 

ХакИрФсимагущий

[засикречино]
Хмм и дествительно зачем у меня в док руте около5 файлов они инклюдятся в индекс и все норм.
Неужели это как то влияет на производительность ? но врятли

Еше вариант для тогочтобы чюжой код было удобнее просматривать(касается КМС). Нопример ты знаешь что в папке язык/русский/ хранится перевод. в папке jslib библиотека яваскриптов и. тд.
А то чтовсе так делают это скорее всего подражание лидируюшим КМС
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Доступ по http перекрывается на уровне Apache через htaccess.
1. Поверь мне, не все пользуются апачем.
2. Разбор хтацессов в директории может быть отключен, или, что хуже отключится / удалится хтаксес в процессе обновления сервера.
3. Опять таки, использование общего для нескольких проектов кода
 

AmdY

Пью пиво
Команда форума
флоппик
третий лишний, общий код можно использовать через благодаря include_path
 

флоппик

promotor fidei
Команда форума
Партнер клуба
общий код можно использовать через благодаря include_path
угу. Можно и мягкие ссылки на уровне фс создавать - просто не логично держать этот код доступным по хттп
 

AmdY

Пью пиво
Команда форума
кстати, пытаюсь в меру сил довести внутреннюю на новой работе cms-ку на новой работе до съедобного качества, из всех бяк самым важным считаю как раз расположение файлов навязанный ZF. по разделяли по отдельным папкам в кучу контроллеры, в кучу шаблоны, в кучу формы, а про их связанность забыли. невозможно переносить модули из проекта за раз, нужно из кучи мест.
у себя делаю
controllers
----<папка_контроллера>
--------<папка_шаблонов>
------------[шаблон]
------------[шаблон_2]
--------<папка_форм>
--------[файл_контроллера]
----<папка_контроллера_2>
 
Сверху