Я хотел бы поделиться своим собственным велосипедом.
Залогом успеха в любой профессии сегодня является максимальная оптимизация производственного процесса.
Но есть вещи, которые стали стандартными в определенной области.
Работа с ними требует большого изучения и обширной практики.
Одним из таких слабых мест веб-разработки является база данных.
Обслуживание и администрирование влекут за собой огромные накладные расходы, при этом в подавляющем большинстве проектов функциональность базы данных остается невостребованной.
Насколько привлекательно совместить простоту работы с файлами, гибкость и функциональность реляционных баз данных.
Я действительно хочу свести создание резервной копии базы данных к простому копированию одного файла.
В тот момент, когда веб-сайт установлен, время для него останавливается.
Большинство сайтов никогда не будут обновляться.
Обновление ПО становится нетривиальной задачей, которую проще каждый раз откладывать, чем запускать обновление и тратить неделю на поиск ошибок обновления и объяснение заказчику причин простоя.
Если в процессе работы код ядра или часть файлов были изменены, обновление становится невозможным.
Простота установки, обслуживания и обновления сайта стала задачей нашего дальнейшего развития.
Сделайте процесс запуска сайта простым даже для человека, который ничего не знает о базах данных, портах подключения и паролях доступа.
Сведите обновление к копированию одного файла и созданию резервной копии перед нажатием кнопок копипаста.
Два решения идеально подходили для решения проблемы.
В качестве хранилища данных была выбрана база данных sqlite. Эта база данных сочетает в себе максимальную простоту использования и все преимущества полноценной базы данных.
Работу с файлами системы портала упростили за счет упаковки базовой системы CMS в php phar Archim. Развертывание сайта свелось к копированию одного файла в директорию проекта.
Обновление всей портальной системы сводилось к замене одного-единственного файла на обновленную версию CMS. Поскольку sqlite не требует авторизации, файл конфигурации не требуется.
Вместе с двумя указанными файлами нам понадобится каталог, в котором хранятся все загруженные изображения сайта, а также файл .
htaccess, который покажет веб-серверу, с чего начать загрузку.
Все сводилось к четырем файлам в папке проекта.
Один файл базы данных, в котором будут храниться файлы, один файл CMS, файл .
htaccess и каталог с полным доступом для скачивания файлов.
При первом входе система попросит вас ввести логин и пароль администратора.
Человек, введший пароль, становится администратором и получает мгновенный доступ ко всем разделам административной системы.
Создание страниц сводится к выбору адреса страницы.
При вводе адреса вновь созданной страницы администратору будет предложено создать новую страницу в один клик.
После создания, чтобы отредактировать его, достаточно нажать на карандаш в правой верхней части страницы, чтобы отредактировать его.
Файловая система основана на файловой системе UnionFS, в которой система считает файловой системой сразу несколько уровней.
Первым приоритетом является уровень файловой системы проекта.
Файл, расположенный в общем каталоге, путь которого совпадает с системным, будет иметь более высокий приоритет, чем файл, расположенный в архиве phar. Чтобы изменить работу любого файла, достаточно поместить его модифицированную копию по тому же пути, что и в phar-архиве.
При этом он начнет работать сразу.
Подобным образом вы можете добавлять на сайт свои шаблоны, свои модели и даже основной файл ядра; чтобы изменить его, просто поместите index.php в каталог проекта рядом с index.phar. Это решение можно назвать самой простой установкой файловой системы из всех существующих.
Для этого достаточно загрузить в директорию хостинга три файла.
Index.phar — cms .
htdb — файл базы данных (полный доступ) .
htaccess — перенаправление файла на исполняемый файл движка /include/images Каталог для загружаемых файлов (полный доступ) Вот как должна выглядеть файловая система.
Адрес на github — github.com/mpak2/mpak.su Вы можете войти в админку здесь http://phar.mpak.su/admin пользователь/пароль admin/admin К сожалению, в рамках комментария нет возможности озвучить все интересующие темы.
Контакты для связи можно найти по вышеуказанной ссылке.
Теги: #сайт #веб-разработка #php #SQLite #MySQL #php
-
Настройка Ретрокомпьютера Или 386 Страданий
19 Oct, 24 -
Сервер Прометея И Tls
19 Oct, 24 -
К Барьеру, Господа! Или Виртуальная Дуэль
19 Oct, 24