mihichx/clearvc
Composer 安装命令:
composer create-project mihichx/clearvc
包简介
ClearVC PHP Framework
README 文档
README
ClearVC — это ультра-легкий и быстрый PHP-микрофреймворк, построенный по архитектурной схеме View-Controller (VC). Он изолирует системную логику от HTML-верстки, предоставляя разработчику чистый каркас для быстрого развертывания веб-приложений без привязки к жестким моделям данных.
Структура проекта
project/
├── 📁 assets/ - Статические файлы приложения (js, css, картинки, шрифты)
├── 📁 config/ - Конфигурация системы
│ ├── 📄 config.example.php - Шаблон настроек окружения и доступов к БД
│ ├── 📄 PDO.php - Безопасный модуль подключения к БД (PDO)
│ └── 📄 route.php - Карта маршрутов (список путей сайта)
│
├── 📁 controllers/ - Контроллеры сайта (App\Controllers)
├── 📁 core/ - Служебное ядро фреймворка (Core)
│ ├── 📄 Controller.php - Базовый контроллер ядра
│ └── 📄 Router.php - Системный маршрутизатор (Роутер)
│
├── 📁 views/ - Представления (HTML-верстка и отображение данных)
├── 📁 vendor/ - Автозагрузчик и сторонние зависимости (управляется Composer)
│
├── 📄 .gitignore - Список игнорируемых файлов (папка /vendor/ скрыта от Git)
├── 📄 .htaccess - Перенаправление всех запросов на единую точку входа
├── 📄 composer.json - Конфигурация зависимостей и правил автозагрузки PSR-4
├── 📄 composer.lock - Фиксация точных версий зависимостей проекта
├── 📄 index.php - Главный инициализационный файл (Точка входа)
└── 📄 README.md - Документация проекта
Описание работы фреймворка
Фреймворк ClearVC работает по принципу единой точки входа (index.php), куда .htaccess направляет все входящие URL-адреса.
- Роутер (
Router.php) перехватывает адрес, сопоставляет его с картой маршрутов (config/route.php) и вызывает нужный Контроллер. - Контроллер (
controllers/) обрабатывает логику, делает безопасные запросы к базе данных и передает чистые переменные в метод$this->render(). - Представление (
views/) принимает переменные и выводит чистый HTML. Фреймворк автоматически берет этот HTML и оборачивает его в глобальный макетviews/layouts/main.php.
Алгоритм настройки и использования
Шаг 1. Инициализация окружения и База данных
Фреймворк использует современную автозагрузку классов по стандарту PSR-4. Перед началом работы:
- Скачайте проект и откройте консоль в корневой папке.
- Выполните команду для генерации автозагрузчика: composer install
- Если проекту нужна база данных:
- Скопируйте файл config/config.example.php и переименуйте его в config/config.php.
- Заполните массив db вашими данными от MySQL.
Шаг 2. Создание файла логики (Controller)
СоСоздайте класс в папке controllers/. Благодаря Composer вам больше не нужно вручную подключать файлы через require_once.
Обязательно указывайте пространство имен в начале файла и импортируйте базовый контроллер ядра:
<?php // Файл: controllers/AboutController.php namespace App\Controllers; // Указываем пространство имен папки controllers use Core\Controller; // Импортируем базовый класс из ядра class AboutController extends Controller { public function about() { $aboutData = null; // Безопасная проверка: подключена ли БД в проекте if ($this->db !== null) { $stmt = $this->db->query("SELECT * FROM site_info LIMIT 1"); $aboutData = $stmt->fetch(); } // Передаем данные в рендер страницы views/about.php $this->render('about', [ 'title' => 'О компании', 'js' => 'slider.js, script.js', 'info' => $aboutData ]); } }
Шаг 3. Создание представления (View)
В папке views/ создайте файл отображения (например, about.php). Используйте переменные, переданные из контроллера. Для защиты от XSS-атак всегда фильтруйте динамический вывод.
<!-- Файл: views/about.php --> <div class="container my-5"> <h1 class="fw-bold"><?= \$title ?></h1> <div class="card shadow-sm mt-4"> <div class="card-body"> <p class="lead"> <?= htmlspecialchars(\$info['description'] ?? 'Контент временно недоступен.') ?> </p> </div> </div> </div>
Шаг 4. Настройка главного макета
В views/layouts/main.php пропишите общий каркас сайта (Header, Footer, навигацию). Фреймворк сам подставит контент страницы в переменную $content, заголовок в $title, а скрипты страницы подключит через массив $js.
Не удаляйте эти системные переменные из макета!
Шаг 5. Регистрация маршрута (Route)
Зарегистрируйте URL вашей страницы в файле config/route.php по следующему шаблону:
return [ // ['URL-адрес', 'КлассController@метод', 'HTTP-метод'] ['/about', 'AboutController@about'], ];
Если HTTP-метод не указан, роутер по умолчанию считает его как GET.
Авторы: Бакулев М, Кириенков М, Фатахова С, Наумов А, Рагазина Е.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-02