Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Структура папок сайта. Как грамотней?

#mvc #веб_программирование


В общем, планируется несложный сайт-визитка с небольшим количеством PHP, для вывода
из базы данных товаров. Встал такой вопрос - как грамотно организовать структуру папок
сайта, что к чему подключать и как разделять код? Можно коротко, думаю, я пойму общую
идею. Пока что есть такой вариант:

/css
/js
/images
/includes
index.php
page1.php
page2.php
page3.php


PHP-файлы просто связаны между собой ссылками (в меню сайта), в нужные места этих
файлов подключаются файлы из папки includes, которые выводят какие-то данные из базы.
Как вариант - создать папку template для шаблонов, тогда туда буду передаваться данные
из файлов папки includes и уже в главные файлы будут делаться не php-вставки, а вставляться
шаблоны. То есть, получается, что index.php, page1.php, page2.php, page3.php это просто
файлы с html-разметкой и php-вставками (или шаблонами). Есть еще какие-то, более грамотные
варианты разделения?
    


Ответы

Ответ 1



В идеале любой сайт должен иметь такую структуру: app (корневая папка) --core --components --models --other code-related stuff --templates --public - именно эта папка смотрит "наружу" ----assets ----images ----js ----css ----index.php --logs Здесь главное - не названия папок, а то, что наружу смотрит всего одна папка и один исполняемый файл, в результате сайт у вас оказывается наименее уязвимым. И не забывайте применять intval() и подобные операции к приходящим айдишникам. update: Еще одна вещь, которую необходимо отметить - если заливаются какие-то файлы, то надо их хранить вне публичной директории, либо (если, например, это пользовательские изображения, которые должны показываться) фильтровать их по расширению и быть уверенным, что сервер не может исполнять файлы с таким расширением. Буквально на этой неделе сталкивался с тем, что так сломали самопис (а в свое время так уронили тысячи сайтов на вордпрессе).

Комментариев нет:

Отправить комментарий