====== 5. Структура директорий ======
Расмотрим примерную структуру нашего приложения (названия директорий произвольное, но проще использовать понятные или традиционные, чтобы не запутаться, например: user - в переводе "пользователь", install - "установка", readme - "прочти меня", user_login - "пользователь_авторизация" и т.д.). Ниже приведен предварительной проект директорий нашей будущей CMS.
|AAA||||||AAA{text-align:left;border-color:white}={{fa>folder?}} ./ucms/
|)|EEE|||||EEE{text-align:left;border-color:white}={{fa>folder?}} users
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} .htaccess
|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} admin
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} account_admin
|!|!|!|`|BBB||BBB{text-align:left;border-color:white}={{fa>file}} admin_setting.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} admin_nav.php
|!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} admin.php
|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} user
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} account_user
|!|!|!|)|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_login.php
|!|!|!|)|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_logout.php
|!|!|!|`|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_signup.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} messages
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user_edit.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user_nav.php
|!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user.php
|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} ghost.php
|!|`|CCC|||||CCC{text-align:left;border-color:white}={{fa>file?}} users.php
|)|BBB|||||BBB{text-align:left;border-color:white}={{fa>folder?}} content
|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} data
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} books
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} images
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} media
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} music
|!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} media
|!|`|BBB|||BBB{text-align:left;border-color:white}={{fa>file?}} cont.php
|)|DDD|||DDD{text-align:left;border-color:white}={{fa>folder?}} includes
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} .htaccess
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} config.ini
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} cons.php
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} db.php
|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} demo
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} mail.php
|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} lang
|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} en
|!|!|!|`|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} lang_en.php
|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} ru
|!|!||`|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} lang_ru.php
|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} function.php
|!|`|DDD|||DDD{text-align:left;border-color:white}={{fa>file?}} search.php
|)|CCC|||CCC{text-align:left;border-color:white}={{fa>folder?}} library
|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} install
|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} css
|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} install.css
|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} js
|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} install.js
|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} tpl
|!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} tpl_install_header.php
|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} tpl_install_footer.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} account_settings.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} database_options.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} install.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} installation_progress.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} lang_and_time_zone.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} module_help.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} options.php
|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} server_check.php
|!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} setting.php
|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} template
|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} blog
|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} vcms
|!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} standart
|!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} css
|!|!|!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} main.css
|!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} nav.css
|!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} js
|!|!|!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} main.js
|!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} nav.js
|!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} img
|!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} fonts
|!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} style.ini
|!|!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_main.php
|!|!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_footer.php
|!|!|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_header.php
|!|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} user_template
|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} updata
|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>file?}} main.php
|!|)|222||222{text-align:left;border-color:white}={{fa>file?}} 404.php
|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} lib.php
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} .htaccess
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} .htpasswd
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} index.php
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} help.txt
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} readme.html
|)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} license.txt
|`|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} version.txt
Надеемся, что из вышеприведенной схемы директорий все понятно? Кратко:
* .htaccess — это локальный конфигурационный файл веб-сервера Apache, который позволяет управлять настройками веб веб-приложения.
* index.php - это стартовая страница.
* readme.html - руководство, которое дает пользователям подробное описание проекта
* /user - главная папка пользователей
* guest - пользователь с правом только просмотра и поиска по сайту контента.
* /account_user - папка аккаунта пользователя (пользователь с правом просмотра, загрузки, редактирования и удаления своего контента, поиска контента, написания комментариев, голосования и прочего.
* user_login.php - файл авторизации пользователя
* user_logout.php - файл окончания сеанса авторизации пользователя
* user_signup.php - файл регистрации нового пользователя
* user_edit.php - редактор постов пользователя
* user_nav.php - меню пользователя
* /account_admin - папка аккаунта администратора (полные права, включая настройку сайта и регистрацию прав пользователя/удаление пользователей и модерацию сообщений)
* admin_setting.php - файл настроек CMS администратором
* admin_nav.php - расширенное меню пользователя-администратора
* /install - папка установки CMS
и т.д... (см. описание в файле readme.html) с создания которого мы и начнем наш проект в [[software:development:demo:cms:ucms:readme|Главе 7. Файл readme.txt]].
← [[software:development:demo:cms:ucms:planning|4. Планирование]]
[[software:development:demo:cms:ucms:help|6. Файл help.txt]] →