【问题标题】:php scalable multilanguage solutionphp 可扩展的多语言解决方案
【发布时间】:2012-01-25 10:20:07
【问题描述】:

在我的 PHP 网站中应用多语言的可扩展和低资源解决方案是什么?另外你们如何将它与javascript集成,一些javascript也需要翻译。

我目前的解决方案是:

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+个元素,我们在函数中传递它,设置语言数组,它在内存中翻了一番,因为我们不是通过引用传递?

感谢阅读。

【问题讨论】:

    标签: php multilingual


    【解决方案1】:
    • 1000 个元素并不多
    • PHP 使用“写时复制”,这意味着,只要您不更改任何内容,它就不会消耗额外的内存。
    • 即使,当您使用 unset($lang)

    【讨论】:

    • 感谢您的重播,但它会扩展吗,因为我的问题也是如果您连接了 10.000 个用户,这意味着 $lang 数组在内存中的 10.000 倍,听起来像一个大矫枉过正,我该如何解决这个可扩展性问题?
    • memcached 作为多语言的键值存储怎么样?
    • 您可以将 lang-array 缩减为 $lang['general'] 和 $lang['this_module'], $lang['other_module'] 然后只包含您实际需要的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2016-06-04
    相关资源
    最近更新 更多