Symfony 在存储库中注入参数



我需要在存储库中注入参数,我尝试向服务存储库添加调用,但是当我从存储库调用某些函数时,我的调用函数没有调用

    app.repository.file:
    class:            "%app.repository.file.class%"
    factory_service:  doctrine.orm.default_entity_manager
    factory_method:   getRepository
    arguments:
        - "%app.entity.file.class%"
    calls:
         - [setParam,['%md5_suffix%']]

设置参数不调用

    private $param;
public function setParam($param)
{
    $this->param = $param;
}

参数有null

我尝试使用JMSDiExtraBundle

    /**
 * @DIInjectParams({
 *     "param" = @DIInject("%md5_suffix%"),
 * })
 */
public function setParam($param)
{
    $this->param = $param;
}

但具有像字符串这样的属性%md5_suffix%,而不是来自parameters.yml :)的属性

如何在回购中从参数 YML 注入参数?

Factory_service在

2.8 中已弃用。相反,请尝试使用以下内容:

app.repository.file:
    class: DoctrineORMEntityRepository
    factory: ['@doctrine.orm.entity_manager', getRepository]
    arguments:
      - "%app.entity.file.class%"
    calls:
      - [setParam,['%md5_suffix%']]

我创建了另一个服务

economy.param_helper:
    class: "%economy.param_helper.class%"
    arguments:
        - "%md5_suffix%"

并像这样在存储库中注入此服务

    /**
 * @var ParamHelper
 */
private $param;
    /**
 * @DIInjectParams({
 *     "param" = @DIInject("economy.param_helper"),
 * })
 */
public function setParam(ParamHelper $param)
{
    $this->param = $param;
}

并致电$md5Suffix = $this->param->getMd5Suffix();

但我不确定这是正确的方式

相关内容

  • 没有找到相关文章

最新更新