gans_liber / mvs_php_practice
simple gabella mvs framework
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/gans_liber/mvs_php_practice
Requires
- php: ^7.4 | ^8.0
- ext-http: *
- illuminate/database: 8.x-dev
- illuminate/events: 8.x-dev
- nikic/fast-route: ^2.0@dev
This package is auto-updated.
Last update: 2025-12-15 09:25:19 UTC
README
Система управления поликлиникой на базе собственного PHP MVC фреймворка.
Описание
Веб-приложение для управления поликлиникой с функционалом:
- Управление пациентами
- Запись на приемы
- Управление кабинетами
- Ролевая система доступа (администратор, регистратор, врач)
- Личные кабинеты для пользователей и пациентов
- Поиск пациентов и записей
Технологии
- PHP: 7.4+ или 8.0+
- MySQL: База данных
- Composer: Управление зависимостями
- Illuminate Database: Eloquent ORM (Laravel)
- FastRoute: Маршрутизация
Структура проекта
Hospital_monolith-MVC/
├── app/
│ ├── Controller/ # Контроллеры
│ ├── Model/ # Модели данных
│ └── Middlewares/ # Middleware для аутентификации и авторизации
├── config/ # Конфигурационные файлы
├── core/ # Ядро фреймворка
│ └── Src/ # Основные классы (Application, Route, Auth, View)
├── public/ # Публичная директория (точка входа)
├── routes/ # Маршруты приложения
└── views/ # Представления (шаблоны)
Установка
- Клонируйте репозиторий:
git clone <repository-url> cd Hospital_monolith-MVC
- Установите зависимости:
composer install
- Настройте базу данных в
config/db.php:
return [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'MVCpoliclinic', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_general_ci', 'prefix' => '', ];
-
Создайте базу данных и импортируйте схему (если есть SQL-файл)
-
Настройте веб-сервер:
- Укажите корневую директорию на
public/ - Для Apache включите mod_rewrite
- Для Nginx настройте обработку через
public/index.php
- Укажите корневую директорию на
Использование
Основные маршруты
GET /login- Страница входаPOST /login- АвторизацияGET /logout- Выход из системыGET /myCabinet- Личный кабинет пользователяGET /patientCabinet- Кабинет пациентаGET /serchPatients- Поиск пациентовGET /serchAppointment- Поиск записейPOST /addPatient- Добавление пациента (требует роль: registrator|admin)POST /registrat/addAppointments- Добавление записи (требует роль: registrator|admin)GET /admin/signup- Регистрация нового пользователя (требует роль: admin)POST /addCab- Добавление кабинета (требует роль: admin)POST /addUser- Добавление пользователя (требует роль: admin)
Middleware
auth- Проверка аутентификацииcan:role- Проверка роли пользователя (например:can:admin,can:registrator|admin)
Примеры маршрутов
// Защищенный маршрут с проверкой аутентификации Route::add('GET', '/hello', [Controller\Site::class, 'hello']) ->middleware('auth'); // Маршрут с проверкой роли Route::add(['GET', 'POST'], '/admin/signup', [Controller\Site::class, 'signup']) ->middleware('auth', 'can:admin');
Модели данных
- User - Пользователи системы (врачи, регистраторы, администраторы)
- Patient - Пациенты
- Appointment - Записи на прием
- Cabinet - Кабинеты
- Role - Роли пользователей
- Specialization - Специализации врачей
- Diagnose - Диагнозы
Конфигурация
Основные настройки находятся в директории config/:
app.php- Настройки приложения (классы аутентификации, middleware)db.php- Настройки базы данныхpath.php- Пути к директориям (если используется)
Разработка
Добавление нового контроллера
- Создайте класс в
app/Controller/ - Добавьте маршрут в
routes/web.php - Создайте представления в
views/(если необходимо)
Добавление middleware
- Создайте класс в
app/Middlewares/ - Зарегистрируйте в
config/app.phpв массивеrouteMiddleware - Используйте в маршрутах через
->middleware('name')