参数注入的inject()和__construct()有什么区别?

时间:2018-02-20 19:30:24

标签: php symfony constructor-injection

在Symfony服务中,我通常会看到注入构造函数的参数,如下所示:

/**
 * @InjectParams({
 *     "someMember" = @Inject("%some_parameter%")
 */
public function __construct($someMember)
{
    $this->someMember = $someMember;
}

但我也见过类似的

/**
 * @InjectParams({
 *     "someMember" = @Inject("%some_parameter%")
 */
public function inject($someMember)
{
    $this->someMember = $someMember;
}

没有明确定义的构造函数。在这种特殊情况下效果似乎相同,但在这种情况下使用构造函数与inject()之间是否存在任何差异?

0 个答案:

没有答案