php масштабируемое мультиязычное решение - PullRequest
0 голосов
/ 25 января 2012

Каким было бы масштабируемое решение с низким уровнем ресурсов для применения многоязычности на моем 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 элементов, и мы передаем его в функцию, устанавливаем языковой массив, он удваивается в памяти правильно, потому что мы не передаем по ссылке?

Спасибо за чтение.

1 Ответ

1 голос
/ 25 января 2012
  • 1000 элементов это не так много
  • PHP использует «копирование при записи», что означает, что он не потребляет дополнительную память, если вы что-то не меняете.
  • Даже если это будет не так уж много (см. Первую точку) и только на короткий период, когда вы используете unset($lang)
...