Ana içeriğe geç

🔄 İstek Yaşam Döngüsü

Her İstek index.php'den Başlar

  1. Sabitleri tanımla (ROOT, APP, CONFIG)
  2. Yardımcı fonksiyonları yükle
  3. Kurulup kurulmadığını kontrol et (config/database.php var mı?)
  4. Kurulu değilse → /install/ adresine yönlendir
  5. Veritabanı yapılandırmasını + yardımcıları yükle, oturumu başlat
  6. İstek yolunu hesapla (alt dizin kurulumlarını yönetir)
  7. 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 $page değerini ayarlar ve layout.php'yi dahil eder
  • JSON API'leri: json_response() Content-Type'ı ayarlar, JSON çıktısı verir, sonlandırır
  • SSE Akışı: text/event-stream ile kalıcı döngü, her 2 saniyede ping, 55 saniye sonra sonlanır