我在config.yml中定义了一个哈希盐,想在我的User类中得到这个,关于如何做到这一点的任何想法?我已经看到了很多关于如何在控制器类中使用它的示例,但不是在模型中?
由于
答案 0 :(得分:5)
我有同样的问题。如果有来自symfony 1的类似于sfConfig::get()
的东西会很好。无论如何,我认为这实际上可能是“有更好的方法来做到这一点”。如果您在实例化User类时使用setter注入(即使用setHashSalt()
方法),该怎么办?如果您要从控制器实例化,则可以使用$this->container->parameters['hash_salt']
。
AFAIK,没有使用container
对象就无法访问config.yml参数。我很好奇,看看是否有人有更轻松的方式。
答案 1 :(得分:0)
请在此处查看我的回答:
How do I read configuration settings from Symfony2 config.yml?
与
回答你,如果你想在Model
中注入它,最好的方法是让Manager
作为模型的工厂,然后经理可以将自己注入模型,因此模型可以访问它,因此,可以访问配置。
假设您的模型有Car
和House
,如果它们相关,您可以CityManager
与getAllCars()
或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;
}
}
按照链接的文章填写值。