Инструменты пользователя

Инструменты сайта


software:development:demo:cms:video_cms

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:development:demo:cms:video_cms [2025/04/24 19:08] vladpolskiysoftware:development:demo:cms:video_cms [2025/04/26 12:01] (текущий) – внешнее изменение 127.0.0.1
Строка 14: Строка 14:
 =====Подготовка к работе===== =====Подготовка к работе=====
 ====Рабочая станция==== ====Рабочая станция====
-Мною будет использоваться Apache/2.4.58 (Unix) на [[software:nas:synology_diskstation_ds218|Synology NAS]] c PHP: <html><?php echo PHP_VERSION ?></html> 8.2.211 и [[software:development:web:docs:glossary:mariadb_10|MariaDB 10]], но можно для простоты использовать локальный сервер, например [[software:denwer:denwer|Denwer]] +Мною будет использоваться Apache/2.4.58 (Unix) на [[software:nas:synology_diskstation_ds218|Synology NAS]] c PHP: 8.2.21 и [[software:development:web:docs:glossary:mariadb_10|MariaDB 10]], но можно для простоты использовать локальный сервер, например [[software:denwer:denwer|Denwer]] 
-<fc #22b14c>Устанавливаем редактор</fc> [[https://notepad-plus-plus.org/|Notepad++]] <fc #22b14c>- бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется</fc> [[https://ru.wikipedia.org/wiki/GNU_General_Public_License|GNU General Public License]].+ 
 +  *  <fc #22b14c>Устанавливаем</fc>  [[software:nas:putty|Putty]]  <fc #22b14c>- клиентскую программу для работы с сетевым протоколом SSH, SFTP и генерации цифровых SSH-ключей, которая является свободным приложением с открытым исходным кодом и распространяется под </fc>  [[https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT|Open Source лицензией MIT]]. 
 +  *  <fc #22b14c>Устанавливаем редактор</fc> [[https://notepad-plus-plus.org/|Notepad++]] <fc #22b14c>- бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется</fc> [[https://ru.wikipedia.org/wiki/GNU_General_Public_License|GNU General Public License]]. 
 + 
 +====Планирование==== 
 +Расмотрим примерную структуру нашего приложения (названия директорий произвольное, но проще использовать понятные или традиционные, чтобы не запутаться, например: user - в переводе "пользователь", install - "установка", readme - "прочти меня", user_login - "пользователь_авторизация"  и т.д.). Ниже приведен предварительной проект директорий нашей будущей CMS. 
 +<diagram> 
 +|AAA||||||AAA{text-align:left;border-color:white}={{fa>folder?}} "./ucms/" 
 +|)|EEE|||||EEE{text-align:left;border-color:white}={{fa>folder?}} users 
 +|!|)|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>folder?}} install 
 +|!|!|)|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?}} installation_progress.php 
 +|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} options.php 
 +|!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} setting.php 
 +|!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} install.php 
 +|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} ghost.php 
 +|!|`|CCC|||||CCC{text-align:left;border-color:white}={{fa>file?}} administrator.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?}} config.php 
 +|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} db.php 
 +|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} mail.php 
 +|!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} lang.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?}} template 
 +|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} vcms 
 +|!|!|!|)|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?}} blog 
 +|!|!|`|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?}} index.php 
 +|`|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} readme.html 
 +</diagram> 
 +Надеюсь, что из вышеприведенной схемы директорий все понятно? Кратко: 
 +  * .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) с создание которого мы и начнем. На нашем вебсервере создаем директорию с понятным названием, к примеру... и так уже обозначенно в нашем проекте "ucms" - "Universal Content management system" (Универсальная Система Управления Контентом), а в ней файл с расширение .txt и именем readme  
 +{{:software:development:demo:cms:ucms_creat_1.png?|}}  
 +Этот файл не будет участвовать в работе приложения, в этом файле мы будем писать подробное руководство для пользователя проекта. Да, мы будем много писать, и в основном это будут комментарии. Поэтому создаем еще один файл с именем help.txt 
 +{{:software:development:demo:cms:ucms_creat_2.png?|}} 
 +этот файл в конце нашей работы мы удалим, в нем будут записываться используемые части кода, чтобы вы всегда могли посмотреть как и что пишется, чтобы не тратить время на перелистывание страниц в интернете.  Так-же там будут наши заметки, т.к. за один день мы не успеем охватить весь процесс.  
 + 
 +Пример файла help.txt 
 +<code php help.txt> 
 +!Это файл - подсказка по написанию кода в руководстве по написанию UCMS 
 +----------------------------------------------------------------------- 
 +<!--  Комментарии html --> 
 +// Комментарии в PHP или /* ... */ 
 +/* Комментарии CSS */ 
 +// Комментарии в JavaScript или /* ... */ 
 +/* Комментарии MySQL */ 
 +----------------------------------------------------------------------- 
 +<?php 
 + // Вставка кода PHP в HTML-файл 
 +?> 
 +----------------------------------------------------------------------- 
 +Подключение файлов JavaScript к HTML 
 +<script src="js/main.js"></script> 
 +----------------------------------------------------------------------- 
 +Подключение файлов CSS к HTML 
 +<link rel="stylesheet" href="/style.css"> 
 +/////////////////////////Важно!//////////////////////////////////////// 
 +в файле login.php переменную password заменили на login_pass 
 +не забыть !!! произвести замену в reg.php 
 +////////////////////////26.04.2025///////////////////////////////////// 
 +закончили на подключении файла стилей CSS в index.php в директории ./ucms/bin/user 
 +</code>  
 +Казалось бы, этого можно не делать, но поверьте, когда у вас будет много директорий и много файлов, вы начнете путаться, а если вас еще отвлекут от процесса на недельку, то вы вообще все забудите, а так у вас будет все записано и вам не прийдется начинать все с начала.  
 +<note blue> 
 +<wrap left>← [[software:development:demo:cms:table_of_contents|Оглавление]]</wrap>  
 +<wrap right>[[software:development:demo:cms:video_cms:creating_cms_installer|Создание установщика CMS]] →</wrap> 
 +</note> 
 +<note blue> 
 +<wrap left>← [[software:development:demo:cms:table_of_contents|Оглавление]]</wrap>  
 +<wrap right>[[software:development:demo:cms:video_cms:creating_cms_readme|Файл readme.txt]] →</wrap> 
 +</note> 
 + 
software/development/demo/cms/video_cms.1745510883.txt.gz · Последнее изменение: vladpolskiy