Merhaba arkadaşlar,
Kendi panelimde/scriptimde kullanmak üzere çoklu dil üzerine çalışma yapmaktayım. Performans konusunda fikrinizi/önerinizi almak istiyorum.
Çoklu dil üzerine statik bir sınıf oluşturdum. Bu sınıf kabaca dil dosyası oluşturma, dil dosyası okuma veya kelimenin çevirisini temin etmek gibi görevleri mevcut. Dil dosyaları json formatında fiziki dosya olarak saklıyorum. Dil dosyası okundugunda array'e çevrilip sınıf içinde değişkene atanıyor.
Statik sınıf ilk başlatıldığında varsayılan dili cookie den çekiyor, cookie yoksa define değeri okuyarak gerekli dil dosyasını okuyor ve bir değişkene atıyor. Dil dosyası yok ise boş array olarak görevi tamamlıyor.
Statik sınıftan çeviri istediğimde; yüklenen dil içinde gelen kelimeyi array key şeklinde arıyor. Key mevcut ise value'yı return ediyor. Mevcut değilse gelen keimeyi return ediyor.
Burada benim sormak istediğim; her sayfa yüklemede dil dosyasını tek seferlik okuma isteği oluşuyor. Ve her kelimenin çeviri talebinde array key araması yapılıyor ve bir sonuç döndürülüyor. Bu aşamada bu yapıda bir dil kısmı sistemi çok fazla yorar mı? Veya aynı işlemi mysql ile ayrı bir tabloda yapılsa performans olarak durumu ne olur. Veya bu mantığın dışında önerebileceğiniz başka method varsa önerilerinize de açığım.