xiidea / ez-maintenance

一个方便的库,用于处理网站维护情况

1.0.0 2015-03-24 05:19 UTC

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 updatephp 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添加功能,太好了!为了使我更容易、更快地验证和合并更改,如果您能遵循以下几个基本步骤,那就太棒了

  1. 叉项目。
  2. 创建一个新分支。 git checkout -b name_of_new_feature_or_bug
  3. 进行功能添加或错误修复。
  4. 提交。
  5. 向我发送拉取请求!