0

クラスのいくつかの静的属性を静的配列のキーとして指定して、静的配列を作成する際にいくつかの問題に直面しています。次のようなものです。

class A {

    private $ambito; //will be filled with an element of the static $ambitos

    public static $municipal = 1;
    public static $provincial = 2;
    public static $regional = 3;

    /*array para declarar los posibles ambitos de visualizacion de una empresa*/
    private static $ambitos = array( 
                                   self::$municipal => "Municipal", 
                                   self::$provincial => "Provincial", 
                                   self::$regional => "Regional"
                              );



    public static function getAmbitos()
    {
        return self::$ambitos;
    }
}

問題は、エラーが発生するため、静的配列内で self:$municipal を使用できないことです。リテラル整数しか使用できません (データベースに保存した方法です)。

私はシンフォニー2.0を使用しています。

ありがとう!

4

2 に答える 2

3

そこでも定数を使用できます。

class A {

    const DEFAULT_MUNICIPAL = 1;

    // ...

    public static $municipal = self::DEFAULT_MUNICIPAL;

    // ...

    private static $ambitos = array( 
        self::DEFAULT_MUNICIPAL => "Municipal", 
        // ...
    );

    // ...
}
于 2013-04-11T10:22:10.603 に答える