symfony 更新到 3.4 后的应用程序级别错误

净物

今天我从 sf2.8 升级到 sf3.4...首先我遇到了一些错误,因为我没有重新编写 sf 标准文件,现在这些错误消失了,我在应用程序级别遇到了错误。在 sf2.8 下这不是问题,我不明白为什么现在。

错误触发点击“/”:

[Tue Oct 02 11:37:31.885382 2018] [proxy_fcgi:error] [pid 24:tid 140202295097088] [client 172.29.0.1:37964] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Symfony\\Component\\Debug\\Exception\\FatalThrowableError: Type error: Argument 2 passed to TheApp\\FrontendBundle\\Services\\UrlAliasService::__construct() must be an instance of TheApp\\FrontendBundle\\Routing\\Router, instance of Symfony\\Bundle\\FrameworkBundle\\Routing\\Router given, called in /var/www/var/cache/dev/ContainerV5bxhc0/appDevDebugProjectContainer.php on line 3678 in /var/www/src/TheApp/FrontendBundle/Services/UrlAliasService.php:25\nStack trace:\n#0 /var/www/var/cache/dev/ContainerV5bxhc0/appDevDebugProjectContainer.php(3678): TheApp\\FrontendBundle\\Services\\UrlAliasService->__construct(Object(Doctrine\\ORM\\EntityManager), Object(Symfony\\Bundle\\FrameworkBundle\\Routing\\Router), Object(Cocur\\Slugify\\Slugify))\n#1 /var/www/var/cache/dev/ContainerV5bxhc0/appDevDebugProjectContainer.php(3698): ContainerV5bxhc0\\appDevDebugProjectContainer->getTheApp_UrlaliasserviceService()\n#2 /var/www/var/cache/dev/ContainerV5bxhc0/appDevDebugProjectContainer.php(3872): Contain...\n'

所以服务“UrlAliasService”需要 3 个参数:

...
use TheApp\FrontendBundle\Routing\Router;
...
public function __construct(EntityManager $entityManager, Router $router, Slugify $slugify)
    {
        $this->em = $entityManager;
        $this->urlRepository = $this->em->getRepository('TheAppFrontendBundle:UrlAlias');
        $this->router = $router;
        $this->slugify = $slugify;
        $this->urlAliasInProcess = new ArrayCollection();
    }

这 3 个参数在 services.yml 中连接:

theapp.urlaliasservice:
        class: TheApp\FrontendBundle\Services\UrlAliasService
        arguments: ["@doctrine.orm.entity_manager", "@router", "@cocur_slugify"]

这是路由器类,扩展了 BaseRouter:

namespace TheApp\FrontendBundle\Routing;

use Symfony\Bundle\FrameworkBundle\Routing\Router as BaseRouter;
...
use Symfony\Component\Routing\RequestContext;

class Router extends BaseRouter implements ContainerAwareInterface
{
    private $container;

    public function __construct(ContainerInterface $container, $resource, array $options = array(), RequestContext $context = null)
    {
        parent::__construct($container, $resource, $options, $context);
        $this->setContainer($container);
    }

    public function getGenerator()
    {
        $generator = parent::getGenerator();
        $generator->setContainer($this->container);
        return $generator;
    }

    public function setContainer(ContainerInterface $container = null)
    {
        $this->container = $container;
    }
}

所以错误告诉我传入的参数来自类型 TheApp\FrontendBundle\Routing\Router .... 但它实际上来自类型 Symfony\Bundle\FrameworkBundle\Routing\Router .... 阅读代码这个错误没有感觉对吗?TheApp\FrontendBundle\Routing\Router 类扩展了 Symfony\Bundle\FrameworkBundle\Routing\Router 那么它怎么可能不是它的实例呢?非常感谢帮助和解释。

丹尼斯·阿利莫夫

很明显,这@router是一个由Symfony\Bundle\FrameworkBundle\Routing\Router. arguments: ["@doctrine.orm.entity_manager", "@router", "@cocur_slugify"]例如您应该注入您的服务而不是它theapp.router您在这里有几个选择:

  1. 将您的服务声明为 theapp.route
  2. 覆盖 router您的服务,但我不会这样做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从 BootStrap 3 更新到 BootStrap 4

来自分类Dev

更新到Swift 3后的问题

来自分类Dev

从2.7.7更新到2.8.0后Symfony 2.8:isScopeActive弃用

来自分类Dev

将Symfony 2.8更新到3.0时Composer错误

来自分类Dev

将Rails 3.2应用程序更新到Rails 4或等待Rails 5

来自分类Dev

更新到 angular 4 后找不到 platformUniversalDynamic

来自分类Dev

Symfony 3 - Sonata 应用程序媒体包错误

来自分类Dev

更新到Symfony 2.6后,“必须定义参数“ debug.error_handler.throw_at””错误

来自分类Dev

更新到php 7后如何修复symfony 1.4错误“空响应头名称,中止请求”

来自分类Dev

更新到Swift 3后奇怪的转义功能行为

来自分类Dev

更新到19.04后无法关闭“应用程序”

来自分类Dev

更新到 19.04 后无法关闭“应用程序”

来自分类Dev

将symfony2从2.1更新到2.3后,表单损坏

来自分类Dev

将d3交互式矩阵散点图更新到v4的问题

来自分类Dev

更新到MAC OS X Mavericks后python3中的奇怪分段错误

来自分类Dev

将Samsung S3更新到4.2.2,它是否支持API级别17?

来自分类Dev

使用swift更新到Xcode 6 beta 4后出现dyld_fatal_error

来自分类Dev

Theo与Neo4J的连接在更新到Xcode 6.3后断开

来自分类Dev

在Mac中更新到Android Studio 4后,快捷方式不起作用吗?

来自分类Dev

更新到rails 4后运行rails服务器中的问题

来自分类Dev

更新到Rails 4后无法运行Rails服务器

来自分类Dev

更新到kde4后,键盘映射完全搞砸了

来自分类Dev

将提供程序3转换为4后Flutter应用程序崩溃

来自分类Dev

更新到Paw 3后,爪子文件将不会打开

来自分类Dev

更新到Boostrap 3后,网格无法正常工作。内容仍在堆叠

来自分类Dev

更新到3.x后,CodeIgneter路由无法按预期工作

来自分类Dev

更新到 android studio preview 3.0 canary 3 后无法构建项目

来自分类Dev

更新到 v3 后 Nativescript css 动画停止工作

来自分类Dev

Synology DSM 上的 Nginx 反向代理在更新到 DSM 6.2.2 Update 3 后停止工作

Related 相关文章

  1. 1

    无法从 BootStrap 3 更新到 BootStrap 4

  2. 2

    更新到Swift 3后的问题

  3. 3

    从2.7.7更新到2.8.0后Symfony 2.8:isScopeActive弃用

  4. 4

    将Symfony 2.8更新到3.0时Composer错误

  5. 5

    将Rails 3.2应用程序更新到Rails 4或等待Rails 5

  6. 6

    更新到 angular 4 后找不到 platformUniversalDynamic

  7. 7

    Symfony 3 - Sonata 应用程序媒体包错误

  8. 8

    更新到Symfony 2.6后,“必须定义参数“ debug.error_handler.throw_at””错误

  9. 9

    更新到php 7后如何修复symfony 1.4错误“空响应头名称,中止请求”

  10. 10

    更新到Swift 3后奇怪的转义功能行为

  11. 11

    更新到19.04后无法关闭“应用程序”

  12. 12

    更新到 19.04 后无法关闭“应用程序”

  13. 13

    将symfony2从2.1更新到2.3后,表单损坏

  14. 14

    将d3交互式矩阵散点图更新到v4的问题

  15. 15

    更新到MAC OS X Mavericks后python3中的奇怪分段错误

  16. 16

    将Samsung S3更新到4.2.2,它是否支持API级别17?

  17. 17

    使用swift更新到Xcode 6 beta 4后出现dyld_fatal_error

  18. 18

    Theo与Neo4J的连接在更新到Xcode 6.3后断开

  19. 19

    在Mac中更新到Android Studio 4后,快捷方式不起作用吗?

  20. 20

    更新到rails 4后运行rails服务器中的问题

  21. 21

    更新到Rails 4后无法运行Rails服务器

  22. 22

    更新到kde4后,键盘映射完全搞砸了

  23. 23

    将提供程序3转换为4后Flutter应用程序崩溃

  24. 24

    更新到Paw 3后,爪子文件将不会打开

  25. 25

    更新到Boostrap 3后,网格无法正常工作。内容仍在堆叠

  26. 26

    更新到3.x后,CodeIgneter路由无法按预期工作

  27. 27

    更新到 android studio preview 3.0 canary 3 后无法构建项目

  28. 28

    更新到 v3 后 Nativescript css 动画停止工作

  29. 29

    Synology DSM 上的 Nginx 反向代理在更新到 DSM 6.2.2 Update 3 后停止工作

热门标签

归档