Огляд
Symfony Maintenance Bundle — це потужний та гнучкий інструмент, призначений для управління режимом технічного обслуговування вашого додатку на Symfony. Він надає можливості, такі як активація режиму технічного обслуговування, встановлення дати наступного обслуговування та обмеження доступу для певних ролей користувачів під час періодів обслуговування. Цей пакет забезпечує зручний досвід як для адміністраторів, так і для кінцевих користувачів.
GitHub Репозиторій: Symfony Maintenance Bundle
Особливості
- Динамічно включати або вимикати режим технічного обслуговування.
- Показувати сповіщення з датою наступного запланованого обслуговування.
- Обмежувати доступ для певних ролей користувачів під час періодів технічного обслуговування.
- Налаштовувати сторінку обслуговування, щоб вона відповідала дизайну вашого додатку.
Встановлення
Щоб розпочати, дотримуйтесь цих простих кроків:
1.
Встановіть пакет за допомогою Composer:
composer require freezlike/symfony-maintenance-bundle
- Увімкніть пакет у вашому додатку Symfony (якщо це не зроблено автоматично):
// config/bMaintenanceBundle::class => ['all' => true],
];
- Налаштуйте пакет у файлі
config/packages/maintenance.yaml
:
maintenance:
active: false
next_maintenance_date: '2024-12-31 23:59'
allowed_role: 'ROLE_ADMIN'
- Додайте маршрути для обробки сторінки технічного обслуговування у файлі
config/routes.yaml
:
maintenance:
resource: '@MaintenanceBundle/Resources/config/routes.yaml'
prefix: /
Використання
Активація режиму технічного обслуговування
Щоб активувати режим технічного обслуговування, оновіть налаштування:
maintenance:
active: true
next_maintenance_date: '2024-12-31 23:59'
allowed_role: 'ROLE_ADMIN'
Налаштування сторінки технічного обслуговування
Ви можете переозначити стандартну сторінку технічного обслуговування, щоб вона відповідала дизайну вашого додатку.
Створіть власний шаблон Twig і розмістіть його в директорії вашого проєкту templates
:
{# templates/maintenance.html.twig #}
{% extends 'base.html.twig' %}
{% block body %}
Режим технічного обслуговування
Ми наразі проводимо технічне обслуговування. Будь ласка, поверніться пізніше.
{% endblock %}
Відображення наступної дати технічного обслуговування
Щоб відобразити наступну дату технічного обслуговування у вашому додатку:
{% if maintenance.nextMaintenanceDate and maintenance.nextMaintenanceDate > 'now' %}
Наступне технічне обслуговування заплановано на {{ maintenance.nextMaintenanceDate|date('Y-m-d H:i:s') }}.
{% endif %}
Внесок
Внески вітаються! Щоб зробити внесок:
- Зробіть fork репозиторію.
- Створіть нову гілку для вашої функції або виправлення помилки:
git checkout -b feature-name
- Зафіксуйте ваші зміни:
git commit -m "Додано нову функцію"
- Надішліть зміни на вашу гілку:
git push origin feature-name
Відкрийте pull request.
Переконайтеся, що ваш код відповідає стандартам кодування Symfony та містить відповідні тести (якщо це необхідно).
## Ліцензія
Цей пакет є відкритим програмним забезпеченням і розповсюджується за ліцензією MIT.
## Висновок
Symfony Maintenance Bundle спрощує управління режимом технічного обслуговування вашого додатку, пропонуючи гнучкість і простоту у використанні. Ознайомтесь з його можливостями та інтегруйте в свій Symfony проєкт уже сьогодні.
**GitHub репозиторій:** [Symfony Maintenance Bundle](https://github.com/freezlike/symfony-maintenance-bundle)
Перекладено з: [Introducing Symfony Maintenance Bundle](https://medium.com/@tic.hedi/introducing-symfony-maintenance-bundle-13add09df8fe?source=rss------php-5)