0

多言語ページをコーディングしています。

3 つの変数があります。

  • $helper->namejob_de(ドイツ語の場合、データベースから取得)
  • $helper->namejob_en(英語の場合、データベースから取得)
    および
  • define("LANG", $TABS[$TABX]['lang']);
    config.php('de' または 'en' を含む) で言語を定義する

ご覧のとおり、DB コンテンツの末尾は _de または _en です。

これら 2 つの変数を組み合わせることは可能ですか?

私はもう試した:

echo $$helper->namejob_.LANG

しかし、明らかにこれは機能しません。このような 2 つの変数の「マージ」のための他のオプションはありますか?

編集:
すべてのコメントを読んだ後、データベース/コードをリファクタリングすることにしました。本当に汚いので、別の方法を試してみます。とにかくありがとう :)

4

4 に答える 4

3

これを試すことができます:

echo $helper->{"namejob_" . LANG};

うまくいくはずですが、あまり明確ではありません。

于 2013-04-17T09:58:29.500 に答える
1

ミニマルな例を見る

<?php
class x
{
    function __construct()
    {
        $this->x_1 = 1;
        $this->x_2 = 3;
    }
}

$x = new x();
$y=1;
echo $x->{"x_".$y};
?>

この「汚れた」作業を処理するクラスを作成し、言語のコンストラクターに変数を渡す必要があります

于 2013-04-17T10:03:35.717 に答える
0

2 つの異なる変数を使用して 2 つの異なる言語を格納する以外に、同じ変数名を持つ 2 つの言語ファイルを使用することもできると思います。現在アクティブな言語ファイルを含めます。このアプローチは oscommerce で使用されます。

于 2013-04-17T10:04:12.350 に答える