insolita / yii2-maintenance
Component for maintenance mode behavior, focused on retrieve status from external configuration
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.6
- yiisoft/yii2: ~2.0.11
Requires (Dev)
- codeception/codeception: ^2.2.3
- codeception/specify: ~0.4.3
- codeception/verify: ~0.3.1
- vlucas/phpdotenv: *
This package is auto-updated.
Last update: 2024-11-11 16:57:07 UTC
README
- Component for maintenance mode behavior, focused on retrieve status from external configuration
- Support ability for allow exclusive access in maintenance mode for specified ips
- Support preliminar notice about soon maintenance works
- Provide observable events when maintenance process or preliminar modes
Installation
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist insolita/yii2-maintenance "~0.0.1"
or add
"insolita/yii2-maintenance": "~0.0.1"
to the require section of your composer.json
file.
Usage
Once the extension is installed, add in config components section, and also bootstrap section :
'bootstrap'=>['log','config','maintenance'], 'container'=>[ ... 'definitions'=>[ '\insolita\maintenance\IConfig'=>'your\config\component\class' ] ], ... 'components'=>[ 'maintenance'=>[ 'class'=>'\insolita\maintenance\Maintenance', 'enabledKey'=>'config key for maintennce indication', 'preliminarKey'=>'config key for preliminar maintenance indication', 'ipSkippedKey'=>'config key for comma-seperated ips with exclusive access', 'catchRoute'=>['site/maintenance'], //- route catched all requests in maintenance mode //possible events use cases 'on maintenance_process'=>function($event){ //$event->sender is maintenance component! if($event->sender->isSkipForIp===true){ Yii::$app->getSession()->setFlash('warning','Site in maintenance mode!'); } }, 'on maintenance_soon'=>function($event){ Yii::$app->getSession()->setFlash('warning', 'After 5 minutes, the site will be serviced, please finish or save the undelivered messages'); } ] ],