gans_liber/mvs_php_practice 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gans_liber/mvs_php_practice

Composer 安装命令:

composer create-project gans_liber/mvs_php_practice

包简介

simple gabella mvs framework

README 文档

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/                  # Представления (шаблоны)

Установка

  1. Клонируйте репозиторий:
git clone <repository-url>
cd Hospital_monolith-MVC
  1. Установите зависимости:
composer install
  1. Настройте базу данных в config/db.php:
return [
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'MVCpoliclinic',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'collation' => 'utf8_general_ci',
    'prefix' => '',
];
  1. Создайте базу данных и импортируйте схему (если есть SQL-файл)

  2. Настройте веб-сервер:

    • Укажите корневую директорию на 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 - Пути к директориям (если используется)

Разработка

Добавление нового контроллера

  1. Создайте класс в app/Controller/
  2. Добавьте маршрут в routes/web.php
  3. Создайте представления в views/ (если необходимо)

Добавление middleware

  1. Создайте класс в app/Middlewares/
  2. Зарегистрируйте в config/app.php в массиве routeMiddleware
  3. Используйте в маршрутах через ->middleware('name')

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-04-24