在symfony2中定义与实体相关的静态数组的位置?

Hai*_*ane 3 arrays static symfony twig

我有一个数组包含与实体产品相关的静态数据:

public static $category = array(
    1 => 'animal.png',
    2 => 'blague.png',
    3 => 'devinette.png',
    4 => 'enfant.png',
    5 => 'h-f.png',
    6 => 'nationalite.png',
    7 => 'politique.png',
    8 => 'sport.png',
    9 => 'name',
    10 => 'travail.png',
    11 => 'vulgaire.png',
    12 => 'autre.png',
);
Run Code Online (Sandbox Code Playgroud)

我应该在哪里声明数组?

我如何从Twig视图加入数据?

谢谢

A.L*_*A.L 5

我不知道这是不是最好的方法,但我使用的代码类似于你的代码:

class Product
{
    protected static $category = array( 
        1 => 'animal.png',
        2 => 'blague.png',
        3 => 'devinette.png',
        // ...
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以在此类中添加一些函数,以便从数组中获取数据

    public function getCategoryImageFromIndex($a)
    {
        return self::$category[$a];
    }

    // if you have a getter getCategory() which returns the category of the Product
    public function getCategoryImage()
    {
        return self::$category[$this->getCategory()];
    }
Run Code Online (Sandbox Code Playgroud)

然后你可以从Twig调用这些函数:

{{ product.categoryImageFromIndex(1) }}
Run Code Online (Sandbox Code Playgroud)

将显示:

animal.png

{{ product.categoryImage }}
Run Code Online (Sandbox Code Playgroud)

将显示该类别中的相应图像.