Teren-app/app/Services/Documents/DocumentSettings.php

29 lines
573 B
PHP

<?php
namespace App\Services\Documents;
use App\Models\DocumentSetting;
use Illuminate\Support\Facades\Cache;
class DocumentSettings
{
private const CACHE_KEY = 'document_settings_singleton_v1';
public function get(): DocumentSetting
{
return Cache::remember(self::CACHE_KEY, 300, fn () => DocumentSetting::instance());
}
public function refresh(): DocumentSetting
{
Cache::forget(self::CACHE_KEY);
return $this->get();
}
public function fresh(): DocumentSetting
{
return $this->refresh();
}
}