首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将别名“模板”替换为"fos_rest.templating“

无法将别名“模板”替换为"fos_rest.templating“
EN

Stack Overflow用户
提问于 2016-01-07 15:56:28
回答 1查看 1.4K关注 0票数 3

我正在尝试设置Symfony3 microkelner来使用FOSRestBundle,而且我也遇到了一些问题。

我希望将其用作输入json或xml,并用作输出( json或xml )。

我做了一些设置,我面临错误:

InvalidArgumentException在ContainerBuilder.php第766行中:服务定义“模板”不存在。

InvalidArgumentException在ReplaceAliasByActualDefinitionPass.php第48行中:无法将别名“模板”替换为"fos_rest.templating“。

这就是我的config.yml的样子(模板和fos_rest的部分)

代码语言:javascript
复制
# Friends of Symfony REST
fos_rest:
  disable_csrf_role: ROLE_API
  view_response_listener: force
  force_redirects:
    html: true
      param_fetcher_listener: true
      body_listener:
        decoders:
          xml: fos_rest.decoder.xml
          json: fos_rest.decoder.json
      format_listener:
        enabled: true
        rules:
          - { path: '^/', priorities: ['json', 'xml'], fallback_format: 'json', prefer_extension: false }
      view:
        formats:
          xml: true
          json: true
        default_engine: json
        failed_validation: HTTP_BAD_REQUEST

也是

代码语言:javascript
复制
templating:
    engines: ['twig']
....
# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    exception_controller: 'FOS\RestBundle\Controller\ExceptionController::showAction'

在microkelner中,我使用了折叠包:

代码语言:javascript
复制
  $bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new FOS\RestBundle\FOSRestBundle(),
        new JMS\SerializerBundle\JMSSerializerBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
    );

    if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
        $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
    }

我使用的组件的版本:

  • FOSRestBundle:"1.7.7“
  • Symfony:"3.0.0“

问题是如何正确设置它以消除此错误,并使Symfony3与microkelner一起使用FOSRestBundle?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-04-13 13:30:40

你确定你的配置是正确的吗?当我用以下方法转储容器时:

代码语言:javascript
复制
$ bin/console debug:container | grep fos

我在许多其他文字中看到:

代码语言:javascript
复制
fos_rest.templating            alias for "templating"   

因此,fos_rest.templating只是templating的别名,这可能就是为什么您可以用自己来替换它,因此这两个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34659557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档