🔄 İstek Yaşam Döngüsü
Her İstek index.php'den Başlar
- Sabitleri tanımla (
ROOT,APP,CONFIG) - Yardımcı fonksiyonları yükle
- Kurulup kurulmadığını kontrol et (
config/database.phpvar mı?) - Kurulu değilse →
/install/adresine yönlendir - Veritabanı yapılandırmasını + yardımcıları yükle, oturumu başlat
- İstek yolunu hesapla (alt dizin kurulumlarını yönetir)
app/router.phpüzerinden yönlendir
Yönlendirici
app/router.php düz bir desen eşleştirme yönlendirme tablosudur. Desenler regex'e derlenir ve istek yoluyla eşleştirilir. Yakalama grupları denetleyici metot argümanları olarak geçirilir.
Kimlik Doğrulama
Çoğu denetleyici, kimliği doğrulanmamış kullanıcıları /login adresine yönlendiren require_auth() fonksiyonunu çağırır. Yalnızca yöneticilere özel uç noktalar, 403 JSON döndüren require_admin() fonksiyonunu kullanır.
Oturumlar, giriş sırasında user_id, workspace_id, role ile doldurulur ve oturum sabitleme saldırılarını önlemek için yeniden oluşturulur.
Veritabanı Bağlantısı
PDO bağlantısı ilk sorguda tembel olarak oluşturulur (singleton). ERRMODE_EXCEPTION ve gerçek hazırlanmış ifadeler (EMULATE_PREPARES = false) kullanır.
Yanıt Biçimleri
- HTML Sayfaları: Denetleyici
$pagedeğerini ayarlar velayout.php'yi dahil eder - JSON API'leri:
json_response()Content-Type'ı ayarlar, JSON çıktısı verir, sonlandırır - SSE Akışı:
text/event-streamile kalıcı döngü, her 2 saniyede ping, 55 saniye sonra sonlanır