承接 progminer/maintenance-screen 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

progminer/maintenance-screen

Composer 安装命令:

composer require progminer/maintenance-screen

包简介

The "Maintenance mode" screen library

README 文档

README

Latest Version on Packagist Software License Build Status Code Coverage Scrutinizer Code Quality Total Downloads

The "Maintenance mode" screen library

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:
composer require symfony/yaml ^4.0
  • For ProgMinerUtils\TemplateRenderer\TwigTemplateRenderer - Twig:
composer require twig/twig ^2.4

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

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) { ?>

<html lang="<?=$vars['lang']?>">
    <head><title><?=$vars['title']?></title></head>
    <body><h1><center><?=$vars['text']?></center></h1></body>
</html>

    <?php }
]);

And, finally, MaintenanceScreen\MaintenanceScreen instance:

$maintenanceScreen = new MaintenanceScreen($config, $translatorProvider, $templateRenderer);

When you have an instance of MaintenanceScreen\MaintenanceScreen you can render and/or send rendered Symfony\Component\HttpFoundation\Response:

  • Rendering:
$response = $maintenanceScreen->render();
  • Sending:
$maintenanceScreen->send();

Both methods have not required argument $request - instance of class Symfony\Component\HttpFoundation\Request. If it is not provided this methods calls a Symfony\Component\HttpFoundation\Request::createFromGlobals method for getting current request.

Todo

  • Add more file loaders

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email eridan200@mail.ru instead of using the issue tracker.

Credits

API Documentation

This projects API documentation is built using Sami and available at https://progminer.github.io/maintenance-screen/master/.

Build

In order to build the documentation first get Sami as a phar file:

# curl -O http://get.sensiolabs.org/sami.phar
composer install-sami

Next build the documentation:

# php sami.phar update sami-config.php
composer regen-docs

The API Documentation will be generated into the docs folder. If you would like to preview it locally you can easily do so with the built-in PHP server:

php -S 127.0.0.1:3000 -t docs

Then visit http://localhost:3000/master/ to view.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 50
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-02-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固