我在制作静态数组时面临一些麻烦,将类的一些静态属性作为静态数组的键,如下所示:
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:$ cities里面的静态数组,因为它触发了一个错误,我只能使用文字整数(我是如何在数据库中保存的)
我正在使用symphony 2.0。
谢谢!
答案 0 :(得分:3)
你也可以在那里使用常量。
class A {
const DEFAULT_MUNICIPAL = 1;
// ...
public static $municipal = self::DEFAULT_MUNICIPAL;
// ...
private static $ambitos = array(
self::DEFAULT_MUNICIPAL => "Municipal",
// ...
);
// ...
}
答案 1 :(得分:0)
您不能在另一个静态变量中引用静态变量(因为它们将同时被解析)