PHPackages                             progminer/maintenance-screen - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. progminer/maintenance-screen

ActiveLibrary

progminer/maintenance-screen
============================

The "Maintenance mode" screen library

v4.0.1(7y ago)25011MITPHPPHP ^7.1

Since Feb 23Pushed 7y ago2 watchersCompare

[ Source](https://github.com/ProgMiner/maintenance-screen)[ Packagist](https://packagist.org/packages/progminer/maintenance-screen)[ RSS](/packages/progminer-maintenance-screen/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (6)Versions (11)Used By (1)

maintenance-screen
==================

[](#maintenance-screen)

[![Latest Version on Packagist](https://camo.githubusercontent.com/d011b402e12f99544feccf67d9d6793efe71c752371a27d16b305d5e08060381/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f70726f676d696e65722f6d61696e74656e616e63652d73637265656e2e7376673f7374796c653d666c6174)](https://packagist.org/packages/progminer/maintenance-screen)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/acdafd89e7857fad937916b7e6c51534d8d7aa5e3ef007cffb1fa0f17b49225a/68747470733a2f2f7472617669732d63692e6f72672f50726f674d696e65722f6d61696e74656e616e63652d73637265656e2e737667)](https://travis-ci.org/ProgMiner/maintenance-screen)[![Code Coverage](https://camo.githubusercontent.com/8a79a5b4291403da5ef9e04c9e89b74f45113f7c12a196a3541481e22e811d6e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f50726f674d696e65722f6d61696e74656e616e63652d73637265656e2f6261646765732f636f7665726167652e706e67)](https://scrutinizer-ci.com/g/ProgMiner/maintenance-screen/)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/6bbbc05f1a8a94636b620dff24e8eaef0d024b2e1a13dade6524b469d1ebdc7d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f50726f674d696e65722f6d61696e74656e616e63652d73637265656e2f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/ProgMiner/maintenance-screen/)[![Total Downloads](https://camo.githubusercontent.com/c6d9220701052bdaed155d6761eb11f7f9b18b1f3b2ef3630b0b10671671f74c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f70726f676d696e65722f6d61696e74656e616e63652d73637265656e2e7376673f7374796c653d666c6174)](https://packagist.org/packages/progminer/maintenance-screen)

The "Maintenance mode" screen library

Install
-------

[](#install)

Via Composer

```
composer require progminer/maintenance-screen
```

For using some included classes you also need to install more requrements:

- For `MaintenanceScreen\FileLoader\YamlFileLoader` - [Symfony Yaml](http://symfony.com/doc/current/components/yaml):

```
composer require symfony/yaml ^4.0
```

- For `ProgMinerUtils\TemplateRenderer\TwigTemplateRenderer` - [Twig](https://twig.symfony.com/):

```
composer require twig/twig ^2.4
```

Usage
-----

[](#usage)

An instance of `MaintenanceScreen\MaintenanceScreen` consists of configurations array, `MaintenanceScreen\TranslatorProvider\TranslatorProviderInterface` instance and `ProgMinerUtils\TemplateRenderer\TemplateRendererInterface` instance.

This example step by step illustrates how works with the `MaintenanceScreen\MaintenanceScreen`.

### Example

[](#example)

In first order you have to write uses, include a `vendor/autoload.php` (ommited), etc. Also you could make configuration array for `MaintenanceScreen\MaintenanceScreen`.

```
use MaintenanceScreen\ConfigurationLoader;
use MaintenanceScreen\MaintenanceScreen;

use MaintenanceScreen\TranslatorProvider\ArrayTranslatorProvider;

use ProgMinerUtils\TemplateRenderer\CallableTemplateRenderer;

$config = [
    'template_name'    => 'Default', // template name, not required
    'default_language' => 'en',      // uses if Accept-Language is not provided, not required
    'charset'          => 'utf-8'    // not required, charset for Response and TemplateRenderer
];
```

Here you have to make `MaintenanceScreen\TranslatorProvider\TranslatorProviderInterface` instance and you have two included methods:

- Use translations from array (`MaintenanceScreen\TranslatorProvider\ArrayTranslatorProvider` class)
- Use translations from config files (`MaintenanceScreen\TranslatorProvider\FilesystemTranslatorProvider` class)

A simple example for first method here:

```
$translatorsProvider = new ArrayTranslatorProvider([
    'en' => ['title' => 'Site in maintenance mode', 'text' => 'Site in maintenance mode'],
    'ru' => ['title' => 'Сайт в режиме техобслуживания', 'text' => 'Сайт в режиме техобслуживания']
]);
```

Also you can create class that implements `MaintenanceScreen\TranslatorProvider\ITranslatorProvider`.

Now you have to make a `ProgMinerUtils\TemplateRenderer\TemplateRendererInterface` instance, for example, `ProgMinerUtils\TemplateRenderer\CallableTemplateRenderer`:

```
$templateRenderer = new CallableTemplateRenderer([
    'Default' => function($vars) { ?>
