Originariamente inviato da masaniello
Sintetizzo la situazione.
La mi esigenza era quella di trasformare un sito (Web Application) da Italiano a Multilanguage.
Ho creato questo file che richiamo all'inizio di ogni pagina:
Codice PHP:
unset $lan; // Cosi mi illudo di liberare memoria prima di allocarla nuovamente
if ($_SESSION['language']=="it") require_once ("language/lang_it.php");
if ($_SESSION['language']=="en") require_once ("language/lang_en.php");
if ($_SESSION['language']!="en" && $_SESSION['language']!="it") require_once ("language/lang_en.php");
class language
{
function traduci($stringa)
{
global $lan;
if ($_SESSION['language']=="it") return $stringa;
$traduzione=$lan[$stringa];
if (!isset($traduzione)) { return $stringa; } else { return $traduzione; }
}
}
$l=new language();
I File con le traduzioni contengono un array descrittivo con moltissime voci, di seguito l'esempio per Inglese :
Codice PHP:
$lan = array(
'Codice'=>'Code',
'Indirizzo'=>'Address', ecc. ecc.
Nelle pagine scrivo:
Codice PHP:
$l->traduci('Indirizzo')
Considerando che l'Array $lan contiene, come già detto, circa 1500 valori che occupano ovviamente memoria del server mi chiedo :
Con molti utenti collegati l'array non tende a "consumare" troppa memoria del Server pregiudicando le prestazioni generali ?
Se si allora converrebbe dichiarare $lan variabile di Sessione ?
Insomma accetto consigli per ottimizzare l'algoritmo.
Saluti a Tutti