v2.5.2
Giriş yap

Php | Çoklu dil sistem mantığı

venloress
1,220 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhabalar, php ile çoklu dil sistemi yapmayı düşünüyorum. Öncelikle kelimeler cümleler panelden değişecek. Aklımda birkaç yöntem var ama hangisi daha iyi birde sizlerden fikir almak istedim.

Yöntem bir

Php dosyası oluşturup içine array ile kelime,cümleleri yazmak. Echo ile bunları html de kullanmak.

Yöntem iki

Mysql veritabanını kullanarak kelime,cümleleri veritabanında tutmak. Html içinde çekip echo ile yazdırmak.

Yöntem üç

Kelime,cümleleri json dosyasnda tutup html'de echo ile yazdırmak.

Yöntem dört

Xml dosyası ile kelime,cümleleri tutup html'de echo ile yazdırmak.

Bu yöntemler elbette herkesin aklına gelmiştir. Ama hangisi daha performans olur tartışılır. Eğer farklı bir yöntem biliyorsanız yazabilirsiniz veya bu yöntemlerden hangisi daha performans olur yorumlayabilirsiniz.
Amacım her bir dil içindeki kelimelerin admin panelinden düzenleyebilmek.

Cevap yaz
Cevaplar (5)
venloress
1170 gün önce

Json ile yaptım ve php yardımıyla düzenleme silme ekleme gibi herşeyi dinamik yaptım.
Veritabınana bağlanmak çok saçma her sayfa açılığında veritabanına sorgu gidecek.Sesion olarak tutmak olabilir fakat bu verileri hem kullanıcıda hemde kedimizde sakladığımızı düşünürsek yine saçma oluyor.

Çözüm:
En mantıklısı ve doğrusu verileri sıkıştırılmış json olarak tutmak. Php tarafından okunup düzenlenebilir oluyor böylece. Sayfa açılışındaki hıza etkisi 1 salise falan oldu diyebilirim.
Json encode ve decode ile php tarafından okunup düzenlenebilir.

aydinkeskin
1171 gün önce

yazdığın site çoklu kullanıcılar içinse dinamik yapman en doğrusu dil için
yok tek kişiye yapıyorsan direk dil dosyasından çekmek daha akıllıca.
çünkü kişiden kişiye değişir sabit isimleri

ben kendi adıma
session da tutuyorum dil verilerini ve dinamik olarak sql den çekiyorum sabitler için
içerik yazıları için ise o session a bağlı id ile yine sqlden ona göre listeletiyorum.

holdfast
1171 gün önce
// Lang/en.php
return [
    'pages' => [
        'Home',
        'About Us',
        'Contact Us'
    ]
];

// Lang/tr.php
return [
    'pages' => [
        'Ana Sayfa',
        'Hakkımızda',
        'İletişim'
    ]
];

ben bu şekilde kullanıyorum. Eğer panelden vb. düzenlenebilir olmayacaksa (yani db ye bağlanmaya gerek yoksa) yöntem bir kesinlikle daha performanslı. Eğer düzenlenebilir olacaksa db den çekip cache'te tutmalısınız.

venloress
1171 gün önce

Hem sql hem de php ve json dosyası oluşturmak gereksiz olur sadece json ile veya php dosyası ile güncellenip silinebilir şekilde olur. Benim şüphem hangisinin daha performanslı olacağı.

qplot
1171 gün önce

sql de json olarak tut

sonra bır tane php dosyasına yazdır onuda json olarak sunucuda kaydet

guncelleme yaparsan o php dosyası guncellenır ve guncel json dosyasını sunucuya yenıden kaydeder

https://www.digitalocean.com/community/tutorials/working-with-json-in-mysql

http://www.erbilen.net/mysqlde-json-verileriyle-calismak/