php可扩展的多语言解决方案

发布于 2024-12-28 18:12:43 字数 580 浏览 0 评论 0原文

在我的 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 多个元素,并且我们将其传递到函数中,设置语言数组,那么它在内存中会加倍,因为我们不是通过引用传递?

感谢您的阅读。

What would be a scalable and low resource solution to apply multi-language in my PHP website? Also how would you guys integrate it with javascript, some javascript also requires translations.

My current solution is just:

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);

My doubts to this solution: if the array in the file, is pretty big, 1000+ elements, and we pass it in the function, set the language array, it's doubled in memory right, because we are not passing by reference?

Thanks for reading.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

失与倦" 2025-01-04 18:12:43
  • 1000 个元素并不算多,
  • PHP 使用“写时复制”,这意味着只要您不更改某些内容,它就不会消耗额外的内存。
  • 即使,当您使用 unset($lang) 时,也不会那么多(请参见第一点)并且仅持续很短的一段时间
  • 1000 elements is not that much
  • PHP uses "copy-on-write", which means, that it doesn't consume additional memory, as long as you don't change something.
  • Even if, that would not be that much (see first point) and only for a short period, when you use unset($lang)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文