如何从 Symfony 2 中的任何 class 访问配置参数?

How to access configuration parameters from any class in Symfony 2?

我有一个简单的模型 class 可以加载和保存文件:

<?php

namespace AppBundle\Model;

class WidgetModel {

    public function load() {}

    public function save() {}

}

从这个 class,我需要访问 config.yml 中定义的配置参数:

parameters:
    widgets:
        1:
            width: 300
            height: 250
        2:
            width: 240
            height: 320

在控制器中,我通常会使用语法 $widgetConfig = $this->getParameter('widget'); 但显然在这种情况下它不会起作用。

从任何 class 执行此操作的正确方法是什么?

如果您谈论的是服务,您可以inject parameters

如果您谈到在您的实体中注入参数,那是很糟糕的做法。 Symfony 实体被设计为 POPO(普通旧 php 对象),因此它不应该知道其范围之外的任何东西(即,没有持久性,没有容器,...)。