bretrzaun / maintenance-bundle
Symfony应用程序中维护切换的Bundle
0.4.1
2022-01-03 08:57 UTC
Requires
- php: >=8.0
- symfony/yaml: ^4.0 || ^5.0 || ^6.0
- twig/twig: ^2.5 || ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^9.5
- symfony/asset: ^5.0
- symfony/browser-kit: ^5.0
- symfony/framework-bundle: ^5.0
- symfony/phpunit-bridge: ^5.0
- symfony/translation: ^5.0
- symfony/twig-bundle: ^5.0
- symfony/var-dumper: ^5.0
README
安装
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 %}