SKY / WINGS /
DIRS1

Все приложение SKY разрабатываются с таким расчетом, чтобы они могли быть легко установлены в подпапке виртуального сервера (в том числе на production инсталляции), что исключает необходимость настраивать виртуальный веб-сервер каждый раз при установке нового приложения.

В SKY Framework используется простая структура директорий. Весь основной PHP код храниться в папке main - код для повторного использования (крылья), файлы приложения, первичный конфигурационный файл, файлы CRON запуска и т.д.

Файлы, которые не являются кодом над которым работают (или меньше работают) программисты, хранятся не в папке main. Например, всегда есть папка view, в которой хранятся файлы вида, с которыми чаще работают веб-дизайнеры. Есть папка pub, в которой хранятся открытые для передачи сервером файлы - javascript, css, картинки в папке pub/img. Папка pub - сокращение от слова public, публичный.

Практически всегда есть папка admin с PHP файлами административного раздела. Все папки закрыты для веб, кроме корня сервера и папки pub. Могут быть также другие папки, в зависимости от типа приложения, например, cache.

Если веб-приложение использует несколько стилей (тем) отображения, файлы видов стилей хранятся в папках с именем стиля (возможно с префиксом), например view/default, view/yellow. Общие для всех стилей файлы вида хранятся в папке view. Аналогично для файлов javascript, css, картинок - папки pub/default, pub/yellow.

Итого типичная структура директорий приложения:
001
002
003
004
005
006
007
008
009
admin - файлы админки
cache
main
  class - файлы-классы, код третьего крыла
  mvc - если приложение использует паттерн mvc (файлы моделей и контроллеров)
pub
  img
view
... здесь в корне веб-сервера, находятся все папки приложения
схема 1

Но если есть повышенные требования к безопасности, структура директорий может быть такой:
001
002
003
004
005
006
007
008
009
admin
cache
main
  class
  mvc
view
web - корень веб-сервера
  pub
    img
схема 2

В этом примере, корень виртуального веб-сервера настраивается на папку web. Нет возможности установить легко, как в первом примере (на production инсталляции), второе приложение в подпапку. При такой структуре директорий, необходимо изменить код "крыльев", использовать их "облачную модификацию". Это можно сделать выполнив скрипт в приложении DEV.SKY. Т.е. код крыльев не включает функционал по настройке доступа к папкам по схеме 1 или 2. Баланс между простотой кода, производительностью и гибкостью кода перевешивает в сторону первого.

На рабочей станции программиста, всегда параллельно с разрабатываемым приложением используется копия приложения DEV.SKY., которое содержится в папке _dev (плюс файл dev.php на одном уровне с папкой), которое не работает с уровнями директорий выше "себя". Это значит что на компьютере программиста следует установить приложение DEV на одном уровне с папкой web. Вся структура директорий схемы 2, как и схемы 1 может размещаться в в под-папке виртуального сервера. Например, виртуальный сервер имеет имя test.loc, веб-приложение устанавливаем в директорию dir1, тогда:

по схеме 1:
001
002
003
004
http://test.loc/dir1/index.php ... а также:
http://test.loc/dir1/ - адрес главной страницы приложения
http://test.loc/dir1/dev.php - адрес приложения DEV.SKY.
 

по схеме 2:
001
002
003
004
http://test.loc/dir1/web/index.php ... а также:
http://test.loc/dir1/web/ - адрес главной страницы приложения
http://test.loc/dir1/dev.php - адрес приложения DEV.SKY.
 
опубликовано ENERGY - 2 Oct 2015 14:21 GMT
последнее редактирование - 4 Oct 2015 03:50 GMT
комментировать