Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Foundation/CacheBasedMaintenanceMode.php
Строк: 92
<?php

namespace IlluminateFoundation;

use 
IlluminateContractsCacheFactory;
use 
IlluminateContractsCacheRepository;
use 
IlluminateContractsFoundationMaintenanceMode;

class 
CacheBasedMaintenanceMode implements MaintenanceMode
{
    
/**
     * The cache factory.
     *
     * @var IlluminateContractsCacheFactory
     */
    
protected $cache;

    
/**
     * The cache store that should be utilized.
     *
     * @var string
     */
    
protected $store;

    
/**
     * The cache key to use when storing maintenance mode information.
     *
     * @var string
     */
    
protected $key;

    
/**
     * Create a new cache based maintenance mode implementation.
     *
     * @param  IlluminateContractsCacheFactory  $cache
     * @param  string  $store
     * @param  string  $key
     * @return void
     */
    
public function __construct(Factory $cachestring $storestring $key)
    {
        
$this->cache $cache;
        
$this->store $store;
        
$this->key $key;
    }

    
/**
     * Take the application down for maintenance.
     *
     * @param  array  $payload
     * @return void
     */
    
public function activate(array $payload): void
    
{
        
$this->getStore()->put($this->key$payload);
    }

    
/**
     * Take the application out of maintenance.
     *
     * @return void
     */
    
public function deactivate(): void
    
{
        
$this->getStore()->forget($this->key);
    }

    
/**
     * Determine if the application is currently down for maintenance.
     *
     * @return bool
     */
    
public function active(): bool
    
{
        return 
$this->getStore()->has($this->key);
    }

    
/**
     * Get the data array which was provided when the application was placed into maintenance.
     *
     * @return array
     */
    
public function data(): array
    {
        return 
$this->getStore()->get($this->key);
    }

    
/**
     * Get the cache store to use.
     *
     * @return IlluminateContractsCacheRepository
     */
    
protected function getStore(): Repository
    
{
        return 
$this->cache->store($this->store);
    }
}
Онлайн: 1
Реклама