1. Обзор Системы
Tech4Lite — это легковесная система управления контентом (CMS), спроектированная специально для создания одностраничных сайтов (лендингов) и сайтов-визиток. Её архитектура проста и ориентирована на высокую скорость работы, что делает её отличным примером для веб-разработки на PHP без использования сторонних фреймворков.
2. Архитектура и Ключевые Концепции
Система построена на классическом стеке PHP + MySQL. Отсутствие фреймворков позволяет легко отслеживать всю логику работы.
- Основная идея: Центральным элементом является концепция "Якорей" (Anchors). Администратор создает якорь (например,
#about
), который автоматически становится пунктом в меню навигации. Система тут же генерирует для него связанные "Блоки контента" (about-title
иabout-text
), которые наполняются через админ-панель. Это позволяет интуитивно управлять секциями на главной странице. - Файловая структура:
index.php
: Главный файл, отображающий лендинг.page.php
: Отвечает за отображение отдельных статических страниц./admin/
: Вся логика панели администратора./install/
: Скрипты для первоначальной установки системы./themes/
: Директории с темами оформления.
3. Frontend (Клиентская часть)
Клиентская часть максимально оптимизирована для скорости загрузки.
- Загрузка данных: При открытии
index.php
, скрипт сначала выполняет запросы к базе данных для получения всех настроек сайта, якорей, страниц, изображений и контент-блоков. Это минимизирует обращения к БД во время рендеринга страницы. - Отображение контента: Для вывода контента используется вспомогательная PHP-функция
display_block()
, которая проверяет наличие и непустое содержимое блока, что предотвращает ошибки. - Темы оформления: Система поддерживает два режима: "одна тема" или "две темы" (светлая/темная) с переключателем для пользователя. Это реализовано через динамическое подключение CSS-файла.
- Оптимизация:
- Изображения в галерее загружаются с атрибутом
loading="lazy"
. - Карта в контактах загружается отложено с помощью JavaScript
IntersectionObserver
, что значительно улучшает показатели PageSpeed. - Реализован cookie-баннер, управляемый через
localStorage
.
- Изображения в галерее загружаются с атрибутом
4. Backend (Панель администратора)
Панель администратора (/admin/
) предоставляет полный CRUD-функционал.
- Структура: Интерфейс состоит из бокового меню (
sidebar.php
) и основной контентной части. - Основные разделы:
- Главная: Управление глобальными настройками (название сайта, SEO, тексты).
- Якоря в шапке: Создание и сортировка секций-якорей.
- Текст и Код: Редактирование контента для каждой секции. Поддерживаются блоки типа
text
иcode
(HTML, CSS, JS). - Страницы: Управление статическими страницами (например, "Политика конфиденциальности").
- Безопасность: Доступ к админ-панели защищен проверкой сессии (
auth_check.php
). Все формы защищены от CSRF-атак с помощью токенов.
5. Структура Базы Данных
Схема БД проста и логична, что идеально для обучения. Она описана в файле install/database.sql
.
site_settings
: Таблица "ключ-значение" для хранения глобальных настроек.anchors
: Хранит пункты меню для главной страницы.content_blocks
: "Сердце" CMS. Содержит текстовое или кодовое наполнение для всех секций.users
: Хранит данные администраторов. Пароли хешируются с использованиемpassword_hash()
и современного алгоритма Argon2ID.