Pogledajte određenu poruku
Staro 16. 03. 2007.   #3
ppavlovic
expert
Expert
 
Avatar ppavlovic
 
Datum učlanjenja: 27.11.2005
Poruke: 543
Hvala: 47
57 "Hvala" u 31 poruka
ppavlovic će postati "faca" uskoro
Cool

Ja imam takvo stupidno resenje za moj sajt... koji je btw za 99.9% na srpskom.

Elem, da bi ubrzao izvlacenje stringova iz baze, uradi sledece:
1) zaboravi na normalizaciju tabela i sve to stavi u jednu tabelu
Moja tabela ima sledeca polja:
Kôd:
lang_code char(2), // SR, EN, FR
name varchar(255), // labela koja se prevodi
description varchar(255), // opis labele 
value text, // vrednost labele u zavisnosti od jezika
topic varchar(30) // sekcija na koju se odnosi prevod: General, UI, Messages, Errors, Mail
2) uradi "Select * From translation_tabela" i prebaci rezultat u jedan array tipa

PHP kôd:
$translation['en']['LOGIN'] = 'Login';
$translation['sr']['LOGIN'] = 'Prijava';
...
etc... 
ili ti
PHP kôd:
$translation = array('en' => array( 'LOGIN' => 'Login''LOGOUT' => 'Logout'),
                       
'sr' => array('LOGIN' => 'Prijava''LOGOUT' => 'Odjava'); 
3) prepravi tvoju funkciju GetString() da cita vrednost iz $translation niza, a ako nije isset() taj clan niza, onda uradi SELECT za vrednoscu iz baze za default jezik

4) ako imas eAccelerator, APC cache ili mmcache, stavi promenljivu $translation u shared memory.
4a) ako nemas doticne module, onda serijalizuj promenljivu $translation i stavi je u bazu ili filesystem (sta god ce od ta dva bude brze) pa onda unserialise... Ili jos bolje, napravi skripticu koja ce da napravi jedan PHP fajl koji ce imati sadrzinu
PHP kôd:
$translation = array('en' => array( 'LOGIN' => 'Login''LOGOUT' => 'Logout'),
                       
'sr' => array('LOGIN' => 'Prijava''LOGOUT' => 'Odjava'); 
i koji ces da inkludujes na pocetku svake skripte. Svaki put kad izmenis/dodas neki translation string u bazi, pozovi neku utility skriptu koja ce da regenerise fajl sa $translation. Ovo jos bolje radi ako imas instaliran Zend Accelerator

Ima li neko bolju/optimizovaniju ideju?
__________________
MojNoviAuto.com - Tvoj prvi sajt za kupovinu novog automobila

Poslednja izmena od ppavlovic : 16. 03. 2007. u 03:47.
ppavlovic je offline   Odgovorite uz citat