#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: Еще одна вещь, которую необходимо отметить - если заливаются какие-то файлы, то надо их хранить вне публичной директории, либо (если, например, это пользовательские изображения, которые должны показываться) фильтровать их по расширению и быть уверенным, что сервер не может исполнять файлы с таким расширением. Буквально на этой неделе сталкивался с тем, что так сломали самопис (а в свое время так уронили тысячи сайтов на вордпрессе).
Комментариев нет:
Отправить комментарий