bretrzaun/maintenance-bundle

Symfony应用程序中维护切换的Bundle

0.4.1 2022-01-03 08:57 UTC

This package is auto-updated.

Last update: 2024-09-05 11:40:19 UTC


README

Tests Latest Stable Version Total Downloads License

安装

composer require bretrzaun/maintenance-bundle

config/bundles.php 中注册Bundle

\BretRZaun\MaintenanceBundle\MaintenanceBundle::class => ['all' => true]

配置

创建以下配置文件

# config/packages/maintenance.yaml
maintenance:
    enabled: false
    template: 'maintenance.html.twig'
    #from: 01.12.2018 00:00:01
    #until: 03.12.2018 00:00:01
    allowed_ip: ['10.*.*.*']

选项

  • enabled: 如果设置为 true,则手动激活维护模式
  • template: 当激活维护模式时渲染的模板
  • from: 从给定日期/时间开始维护模式(仅当 'enabled' 为 false 时)
  • until: 在给定日期/时间结束维护模式(仅当 'enabled' 为 false 时)
  • allowed_ip: 可以在维护模式下访问应用的IP地址列表

模板

此Bundle有一个默认的维护模板(见 src/Resources/views/maintenance.html.twig)。

您可以使用自己的模板(见配置)。如果您的维护模板扩展自父布局,您可能希望在维护时排除某些部分(例如菜单)。这可以这样完成

    {% if not maintenance_mode() %}
        ...
    {% endif %}

如果使用 "allowed_ip" 选项,则某些用户即使在维护模式下也可以访问应用。为了使这些用户意识到这一点,您可以将以下内容添加到布局模板中

{% if maintenance_mode_allowed() %}
    <div class="alert alert-warning">Maintenance mode is activated!</div>
{% endif %}