Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yaleksandr89/mvc-v1

Пример реализации архитектурного шаблона "MVC" на примере работы фреймворка
https://github.com/yaleksandr89/mvc-v1

boostrap bootstrap5 composer crud javascript mvc-application mvc-framework mvc-pattern mvc-sample php php8 php83

Last synced: 2 months ago
JSON representation

Пример реализации архитектурного шаблона "MVC" на примере работы фреймворка

Awesome Lists containing this project

README

        

# Проект: Реализация архитектурного паттерна `MVC` на примере работы простейшего фреймворка

## Выберите язык:

| Русский | English | Español | 中文 | Français | Deutsch |
|----------|--------------------------------------|--------------------------------------|---------------------------------|---------------------------------------|--------------------------------------|
| **Выбран** | [English](./docs/langs/README_en.md) | [Español](./docs/langs/README_es.md) | [中文](./docs/langs/README_zh.md) | [Français](./docs/langs/README_fr.md) | [Deutsch](./docs/langs/README_de.md) |

## Используемый стек:

- PHP 8
- Mysql (PDO)
- Bootstrap 5.3

## Описание:

Проект реализует архитектурный шаблон `MVC` на примере простейшего, самописного фреймворка. В рамках фреймворка был реализован CRUD на примере раздела "Статьи":

Создание

![ajax filter is in operation](./docs/img/mvc-create-article.gif)

Отображение

![ajax filter is in operation](./docs/img/mvc-read-article.gif)

Обновление

![ajax filter is in operation](./docs/img/mvc-update-article.gif)

Удаление

![ajax filter is in operation](./docs/img/mvc-delete-article.gif)

При создании и обновлении статьи реализовано валидация:

Процесс валидации

![ajax filter is in operation](./docs/img/mvc-validation.gif)

В каталоге `docs/conf/` располагается: `nginx-configuration.conf` - пример конфигурации для `nginx`.

## Запуск проекта:

1. Добавьте конфигурацию на ваш сервер. За основу может быть взят файл из `docs/conf/`.
2. Выполните `composer i`
3. Переименуйте `.env.example` в `.env` и секцию `# DB info`
4. Создайте базу данных и импортируйте содержимое файла `db-dump-with-articles.sql`, который находится в `docs/mysql-dump/`.

> Изменения сделанные в 2024 - минимальны. Я целенаправленно оставил структуру ядра исходной, не стал добавлять функционал контейнера, DI и прочего. Так как это одна из первых моих работ и поэтому я решил сохранить его практически в первозданном виде 😇