xiidea / ez-maintenance
一个方便的库,用于处理网站维护情况
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-09-14 16:55:36 UTC
README
用于处理网站维护情况的小工具库
主要功能
- 易于使用
- 高度可定制
安装/使用
如果您使用Composer来管理依赖项,可以在您的composer.json文件中包含以下内容
"require": {
"xiidea/ez-maintenance": "dev-master"
}
然后,在运行composer update
或php composer.phar update
之后,您可以使用Composer的自动加载功能来加载类
require 'vendor/autoload.php';
否则,您可以简单地要求给定的autoload.php
文件
require_once 'PATH_TO_LIBRARY/autoload.php';
然后您只需在您的index.php
中调用EzMaintenance\Worker::watch()
即可(请参阅示例)
不同的适配器来检查维护模式
使用适配器来检测是否需要提供维护页面。提供3种类型的适配器。您还可以定义自己的适配器。
文件适配器
这是默认适配器。它会检查是否存在一个特定的文件。默认路径是down。对于以下实现,如果存在名为maintenance.enable
的文件,您将看到维护页面。
<?php EzMaintenance\Worker::watch('file', array( 'path' => 'maintenance.enable' ));
环境适配器
使用此适配器,您可以监视环境变量的存在。如果环境变量具有特定值,则将显示维护页面。
<?php EzMaintenance\Worker::watch('env', array( 'var_name' => 'APPLICATION_ENV', 'check_value' => 'down' ));
常量适配器
这与环境适配器相同。唯一的区别是它将检查PHP常量而不是环境变量。
<?php EzMaintenance\Worker::watch('const', array( 'var_name' => 'APPLICATION_ENV', 'check_value' => 'down' ));
自定义适配器
您可以通过实现EzMaintenance\Adapter\AdapterInterface
来定义自己的适配器
常见选项
以下选项可用于自定义库的行为
interval
此选项表示以秒为单位的时间间隔,系统将使用此间隔检查网站状态。默认为5秒。
override_key
您可以配置一个密钥来覆盖维护模式。这对于在其他人看到维护页面的同时测试您的网站通常很有用。要浏览维护模式下的页面,您只需将覆盖密钥作为查询参数传递即可,如:http://yourdomain.com/?key={override_key}
inverse
如果您想当适配器返回false时启用维护模式,可以设置inverse = true
。
template
您可以通过提供内置模板名称(simple、game、clock)或自己的模板文件路径来提供。所有选项也将可用于您的模板。您应该在模板文件中echo $javascript
以启用自动状态检查。
<?php echo $javascript; ?>
msg
如果您使用任何默认模板,可以使用此选项自定义消息。
为库做出贡献
如果您发现错误或想向EzMaintenance添加功能,太好了!为了使我更容易、更快地验证和合并更改,如果您能遵循以下几个基本步骤,那就太棒了
- 叉项目。
- 创建一个新分支。
git checkout -b name_of_new_feature_or_bug
- 进行功能添加或错误修复。
- 提交。
- 向我发送拉取请求!