繁体   English   中英

如何在Model类中读取Symfony2中的配置值

[英]How to read config value in Symfony2 in Model class

我已经在我的config.yml中定义了一个哈希盐,并希望在我的User类中得到这个,有关如何执行此操作的任何想法? 我已经看到了很多关于如何在控制器类中使用它的示例,但不是在模型中?

谢谢

我有同样的问题。 如果有一些类似于symfony 1的sfConfig::get()话会很好。无论如何,我认为这实际上可能是“有更好的方法来做到这一点”。 如果您在实例化User类时使用setter注入(即使用setHashSalt()方法),该怎么办? 如果您要从控制器实例化,可以使用$this->container->parameters['hash_salt']

AFAIK,没有使用container对象就无法访问config.yml参数。 我很好奇,看看有没有人有更简单的方法。

在这里看到我的答案:

如何从Symfony2 config.yml读取配置设置?

  • 第一种方法:分离配置块,将其作为参数
  • 第二种方法:分离配置块,将配置注入服务

回答你,如果你想在Model注入它,最好的方法是让一个Manager作为模型的工厂,然后管理器可以将自己注入到模型中,这样模型就可以访问它,因此,访问配置。

说,你的模型具有CarHouse ,如果他们是你可以有一个相关的CityManagergetAllCars()getCarById()或类似的,还有一个getAllHouses()getHouseById()左右。

然后在CityManager中将配置传递给Model类:

class CityManager()
{
    private $myConfigValue;

    public getCarById( $id )
    {
        return new Car( $id, $this->myConfigValue );
    }
}

要么自己通过,要让Model只在需要时获取配置:

class CityManager()
{
    private $myConfigValue;

    public getCarById( $id )
    {
        return new Car( $id, $this );
    }

    public getConfig()
    {
        return $this->myConfigValue;
    }
}

填写链接文章中的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM