1

以下のような定数値を持つクラスが 1 つあります。

class MyClass
{
    const ACCESS_NONE = 0;

    const ACCESS_SUBMIT = 1;

    const ACCESS_VIEW = 2;

    const ACCESS_APPROVE = 3;
}

Symfony2 を使用して小枝ファイルに以下のようなものを作成するにはどうすればよいですか:

        <select name="someName">
            <option value="ACCESS_NONE">None</option>
            <option value="ACCESS_VIEW">View</option>
            <option value="ACCESS_SUBMIT">Submit</option>
            <option value="ACCESS_APPROVE">Approve</option>
        </select>
4

2 に答える 2

2

Drupalityが言ったように、次のようなメソッドを書くことができます:

public static function getConstantsChoices()
{
    return array(
        self::ACCESS_NONE => 'None', //or 'ACCESS_NONE' => 'None' if you want the string
        self::ACCESS_VIEW => 'View',
        self::ACCESS_SUBMIT => 'Submit',
        self::ACCESS_APPROVE => 'Approve',
    );
}

フォームを使用する場合は、選択肢を使用できます。

->add('name', 'choice', array(
      'choices' => MyClass::getConstantsChoices()
))
于 2012-05-23T23:08:26.403 に答える
1

適切なインターフェースでクラスを作成する必要があります:

http://symfony.com/doc/current/reference/forms/types/choice.html#choice-list

インターフェイス API

いつでも手動で配列を作成できますが、PHP で定数名を取得したい場合、唯一の方法はリフレクションです。

定数の名前を取得するには?

于 2012-05-23T21:38:04.400 に答える