2012-01-25 29 views
0

在我的PHP網站中應用多語言的可伸縮和低資源解決方案是什麼?另外你會如何將它與JavaScript整合,一些JavaScript也需要翻譯。php可伸縮多語言解決方案

我目前的解決方案就是:

define('DEFAULT_LANGUAGE', 'en'); 

if(!isset($_SESSION['language'])){ 
    $_SESSION['language'] = DEFAULT_LANGUAGE; 
} 

function lang($key, $set = null){ 
    static $lang; 

    if($set !== null){ 
     $lang = $set; 
     return true; 
    } 

    return $lang[$key]; 
} 

include('language/' . $_SESSION['language'] . '.php'); 
lang(null, $lang); 

我懷疑該解決方案:如果文件中的數組,是相當大的,超過1000元的,我們通過它的功能,設置語言數組,它的記憶力增加了一倍,因爲我們沒有經過引用?

感謝您的閱讀。

回答

1
  • 1000元並不算多
  • PHP使用「寫入時複製」,這意味着,它不會佔用更多的內存,只要你不改變的東西。
  • 就算了,那會不會是那麼多(見第一點),只有在短期內,當您使用unset($lang)
+0

感謝您的重播,但將它的規模,導致我的問題也是像什麼如果你連接了10.000個用戶,這意味着$ lang陣列在內存中的10.000倍,聽起來像是一個巨大的矯枉過正,我怎麼能解決這個可伸縮性問題? – randomKek

+0

memcached作爲多語言的關鍵價值商店呢? – randomKek

+0

您可以將lang數組減至$ lang ['general']和$ lang ['this_module'],$ lang ['other_module'],然後只包含您需要的文件。 – djot