Еще одна структура веб приложений... Которая была выверена "потом и кровью" и имеет достаточный уровень распределения.
Файловая структура предназначена для упорядоченного и логичного хранения файлов. Приведенная структура обязательна для соблюдения и корректной работы системы/приложения.
/: корневой каталог - /bin: (binaries) бинарные/исполняемые файлы. - /configs: конфигурационные файлы - /dumps: файлы резервных копий - /resources: файлы пользовательских ресурсов (изображения, стили и прочие файлы) - /runtime: переменные/изменяемые файлы - /log: файлы логов - /cache: файлы кеша - /src: (source) исходные файлы приложения/системы - /tests: файлы тестирования
В каждой папке присутствует свой README файл, который вносит разъяснения по выбранной директории, а также может хранить дополнительную файловую структуру.
В YAWAS лучше всего будет исключить следующие файла из git:
- Все возможные папки IDE: idea, .vscode, nbproject и другие
- Папку
runtime
, так как в ней хранятся временные файлы (кеш, логи и прочие)
Возможно, вам потребуется исключить папку dumps
и некоторые файлы настроек из configs
, но это уже остается на ваше
усмотрение. Из папки tests
следует исключить отчеты или всю папку целиком.
Для более корректной работы и мапинга namespace в секции autoload следует прописать:
"autoload": {
"psr-4": {
"app\\": "src/",
}
},
Это необходимо, чтобы все классы в src/*
имели начальный namespace app
. Например, теперь контроллеры могут иметь
такой namespace: app\presentation\controllers
.