0

これを行う効果を理解しようとしている問題があります。fr.php次のような変数が存在する言語ファイルがあるとします。

$lang["W_TYPE"]["COMPLETE"] = "Completé";
$lang["W_TYPE"]["INCOMPLETE"] = "Incomplet";
$lang["W_TYPE"]["BO"] = "En attente";

ここで、クラスの 1 つに、これらの変数のいくつかにアクセスする必要があるメソッドがあるとします。

public function getCompletion($string = true)
{
    $x = $this->COMPLETION;
    if($string)
    {
        echo $lang["W_TYPE"]["COMPLETE"];
        if($x==self::ORDER_COMPLETE)
        {
            return "<font class='jobComplete'>".$lang["W_TYPE"]["COMPLETE"]." &#x2713;</font>";
        }
        elseif($x==self::INCOMPLETE)
        {
            return "<font class='jobIncomplete'>".$lang["W_TYPE"]["INCOMPLETE"]."...</font>";
        }
        elseif($x==self::BACK_ORDER)
        {
            return "<font class='backOrder'>".$lang["W_TYPE"]["BO"]."...</font>";
        }
    }
    else
    {
        return $x;  
    }
}   

もちろん、上記は不可能ですが、実際には、このようなことを最も効果的な方法で行う方法についてのオプションが不足しています。何か案は?

4

2 に答える 2

0

fr.php に注意してくださいreturn $lang;

$lang["W_TYPE"]["COMPLETE"] = "Completé";
$lang["W_TYPE"]["INCOMPLETE"] = "Incomplet";
$lang["W_TYPE"]["BO"] = "En attente";
return $lang;

その他のファイル$lang = require_once 'fr.php';

public function getCompletion($string = true)
{
    $lang = require 'fr.php';
    $x = $this->COMPLETION;
    if($string)
    {
        echo $lang["W_TYPE"]["COMPLETE"];
        if($x==self::ORDER_COMPLETE)
        {
            return "<font class='jobComplete'>".$lang["W_TYPE"]["COMPLETE"]." &#x2713;</font>";
        }
        elseif($x==self::INCOMPLETE)
        {
            return "<font class='jobIncomplete'>".$lang["W_TYPE"]["INCOMPLETE"]."...</font>";
        }
        elseif($x==self::BACK_ORDER)
        {
            return "<font class='backOrder'>".$lang["W_TYPE"]["BO"]."...</font>";
        }
    }
    else
    {
        return $x;  
    }
}   
于 2013-06-09T05:53:20.477 に答える