⚙️

Response Cache Settings

Eklenecek Ayar Field'leri

1 Field Form Builder Uyumlu 📅 20 Aralık 2025

📝 Settings Sayfasına Eklenecek

Bu field'leri Settings modülünün Performance kategorisine ekleyebilirsin. Basit bir checkbox ile tenant cache'i açıp kapatabilir.

Kategori Önerisi: Performance, System, Advanced Settings
Konum: Admin → Settings → Performance

1 Response Cache Aktif

checkbox

Input Type

checkbox

Input Key

response_cache_enabled

Label

Response Cache Aktif

(TR locale için)

Placeholder

-

(Checkbox için placeholder gerekmez)

Info (Yardım Metni)

Sayfaları önbellekte saklar ve daha hızlı yüklenmesini sağlar. Premium tenant'lar için önerilir. Cache süresini sistem otomatik yönetir (1 saat).

📋 Kopyala-Yapıştır (Form Builder Formatı)

Form Builder JSON
{
    "input_type": "checkbox",
    "label": "Response Cache Aktif",
    "input_key": "response_cache_enabled",
    "placeholder": "",
    "info": "Sayfaları önbellekte saklar ve daha hızlı yüklenmesini sağlar. Premium tenant'lar için önerilir. Cache süresini sistem otomatik yönetir (1 saat)."
}

🔧 PHP Array Formatı

PHP Array (Settings Modülü İçin)
[
    'input_type' => 'checkbox',
    'label' => 'Response Cache Aktif',
    'input_key' => 'response_cache_enabled',
    'placeholder' => '',
    'info' => 'Sayfaları önbellekte saklar ve daha hızlı yüklenmesini sağlar. Premium tenant\'lar için önerilir. Cache süresini sistem otomatik yönetir (1 saat).',
]

🎨 Blade Component Örneği

Blade Template (Manuel Ekleme İçin)
<div class="form-group mb-4">
    <div class="form-check">
        <input type="checkbox"
               class="form-check-input"
               id="response_cache_enabled"
               name="response_cache_enabled"
               value="1"
               {{ setting('response_cache_enabled', true) ? 'checked' : '' }}>

        <label class="form-check-label" for="response_cache_enabled">
            Response Cache Aktif
        </label>
    </div>

    <small class="form-text text-muted">
        Sayfaları önbellekte saklar ve daha hızlı yüklenmesini sağlar.
        Premium tenant'lar için önerilir. Cache süresini sistem otomatik yönetir (1 saat).
    </small>
</div>

💾 Controller'da Kaydetme

Settings Controller (Store Method)
// Checkbox için özel işlem gerekir
// Eğer checkbox işaretli değilse, request'te gelmez

$validated = $request->validate([
    'response_cache_enabled' => 'nullable|boolean',
]);

// Checkbox değerini düzelt (işaretli değilse false olarak kaydet)
$cacheEnabled = $request->has('response_cache_enabled') ? true : false;

setting(['response_cache_enabled' => $cacheEnabled]);

// VEYA settings helper kullan
setting([
    'response_cache_enabled' => $request->boolean('response_cache_enabled', false),
]);

Kullanım Örneği (TenantCacheProfile)

app/Services/TenantCacheProfile.php
public function enabled(Request $request): bool
{
    // Global config kontrolü
    if (!config('responsecache.enabled', true)) {
        return false;
    }

    // ✨ Tenant bazlı kontrol (Settings'den)
    return setting('response_cache_enabled', true);
}

💡 Nasıl Çalışır?

  • • Admin → Settings → Checkbox işaretle/kaldır
  • setting('response_cache_enabled') true/false döner
  • • TenantCacheProfile her istekte kontrol eder
  • • Cache aktifse kullanır, değilse normal render

Opsiyonel: İleri Seviye Ayarlar

İleriye dönük olarak cache süresini de tenant bazlı ayarlamak istersen, ek bir field ekleyebilirsin:

{
    "input_type": "number",
    "label": "Cache Süresi (Saniye)",
    "input_key": "response_cache_lifetime",
    "placeholder": "3600",
    "info": "Sayfaların önbellekte ne kadar süre saklanacağı (saniye). Varsayılan: 3600 (1 saat). Premium tenant'lar için önerilir: 7200 (2 saat)"
}

⚠️ Not: Şimdilik sadece açma/kapama yeterli. İleriye dönük iyileştirme olarak ekleyebilirsin.

📌 Özet

1 field eklemen yeterli: response_cache_enabled

Checkbox tipi - Kolay kullanım

Default: true (Cache aktif) - Performans için

TenantCacheProfile otomatik okuyup uygular

🤖 Claude AI tarafından oluşturuldu • 20 Aralık 2025

Generated with Claude Code