2016-06-22 4 views
0

で列挙型2間のクラスには、列挙型クラスから拡張: のようにそれらのそれぞれが見える:私は「」第二の列挙型から最初の1接続2私が持っているのsymfony/PHP

に依存取得する必要があります

class firstEnum extends Enum{ 

    const x= 1; 

    const y= 2; 

    const z= 5; 

    const w= 6; 


} 

class secondEnum extends Enum{ 

    const a= 1; 

    const b= 2; 


} 

例えば:私は、ユーザーのparamから持っている:1、最初の列挙に行くとのconstを取得

を「×」と今私は、constのを取得する必要があります「」X 方法の数に依存それをしてもいいですか?

+0

今のところ私は「あなたはこれをやっていますか?定数の誤用のように聞こえる。しかし、本当に、より多くのケース情報を提供してください。私たちはあなたに別の解決策を提供できるかもしれません。 – lllypa

答えて

0

あなたはそれに渡す引数を返す静的メソッドを作成できます。

public static function getTheOne($searchValue) 
{ 
    foreach ([ 
     self::a, 
     self::b, 
    ] as $value) { 
     if ($searchValue == $value) { 
      return $value; // makes no sense 
     } 
    } 
} 

しかし、これは無意味です。だから、あなたの目標は何ですか?あなたのクラスに構成を持たなければならないかもしれませんし、カーテンの値のキー/名前を返してくれる同様のメソッドを持っている必要がありますか?

private static $validValues = [ 
    'value #1' => 1, 
    'value #2' => 2, 
]; 

public static function getTheOne($searchValue) 
{ 
    foreach (self::$validValues as $key => $value) { 
     if ($searchValue == $value) { 
      return $key; 
     } 
    } 
} 
関連する問題