TypeError DoctrineParamConverter.php第46行

问题描述

我是symfony框架的新手。 我已经按照官方文档Setup中的教程进行了安装。 然后,我使用以下命令 symfony new Portfolio2 --full 创建了一个新项目,运行了命令 symfony server:start ,每个人都认为这是默认页面显示带有标题*欢迎使用Symfony 4.4.13 ..... *。 我在尝试按照官方文档Create your First Page in Symfony创建首页时遇到了问题。

我已经配置了route.yml文件:

#index:
#    path: /
#    controller: App\Controller\DefaultController::index
# config/routes.yaml

# the "app_lucky_number" route name is not important yet
app_lucky_number:
    path: /lucky/number
    controller: App\Controller\LuckyController::number

我添加了LuckyController.php

<?php
// src/Controller/LuckyController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
    public function number()
    {
        $number = random_int(0,100);

        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

但是当我运行服务器并尝试访问http:// localhost:8000 / lucky / number时,将显示以下TypeError

        Argument 1 passed to
Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DoctrineParamConverter::__construct() 
must be an instance of Doctrine\Common\Persistence\ManagerRegistry or null,instance of Doctrine\Bundle\DoctrineBundle\Registry given,called in F:\projects\portfolio2\var\cache\dev\ContainerEnYgzlJ\srcApp_KernelDevDebugContainer.php on line 4306

TypeError

在F:\ projects \ portfolio2 \ vendor \ sensio \ framework-extra-bundle \ src \ Request \ ParamConverter \ DoctrineParamConverter.php中(第46行)

41 /**     
42 * @var array     
43 */
44 private $defaultOptions;  
45  
46 public function __construct(ManagerRegistry $registry = null,ExpressionLanguage $expressionLanguage = null,array $options = [])    
47 {        
48 $this->registry = $registry;        
49 $this->language = $expressionLanguage;        
50
51 $defaultValues = [

我完全按照文档中的说明进行操作,也尝试清除var \ cache,但是它没有用。

我正在使用PHP 7.2.4,symfony 4.4,这是我的composer.json:

{
    "type": "project","license": "proprietary","require": {
        "php": ">=7.1.3","ext-ctype": "*","ext-iconv": "*","composer/package-versions-deprecated": "^1.11","doctrine/annotations": "^1.0","doctrine/doctrine-bundle": "^2.1","doctrine/doctrine-migrations-bundle": "^3.0","doctrine/orm": "^2.7","phpdocumentor/reflection-docblock": "^5.2","sensio/framework-extra-bundle": "^5.1","symfony/asset": "4.4.*","symfony/console": "4.4.*","symfony/dotenv": "4.4.*","symfony/expression-language": "4.4.*","symfony/flex": "^1.3.1","symfony/form": "4.4.*","symfony/framework-bundle": "4.4.*","symfony/http-client": "4.4.*","symfony/intl": "4.4.*","symfony/mailer": "4.4.*","symfony/monolog-bundle": "^3.1","symfony/process": "4.4.*","symfony/property-access": "4.4.*","symfony/property-info": "4.4.*","symfony/security-bundle": "4.4.*","symfony/serializer": "4.4.*","symfony/translation": "4.4.*","symfony/twig-bundle": "4.4.*","symfony/validator": "4.4.*","symfony/web-link": "4.4.*","symfony/yaml": "4.4.*","twig/extra-bundle": "^2.12|^3.0","twig/twig": "^2.12|^3.0"
    },"require-dev": {
        "symfony/browser-kit": "^4.4","symfony/css-selector": "^4.4","symfony/debug-bundle": "^4.4","symfony/maker-bundle": "^1.0","symfony/phpunit-bridge": "^5.1","symfony/var-dumper": "^4.4"
    },"config": {
        "preferred-install": {
            "*": "dist"
        },"sort-packages": true
    },"autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },"autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },"replace": {
        "paragonie/random_compat": "2.*","symfony/polyfill-ctype": "*","symfony/polyfill-iconv": "*","symfony/polyfill-php71": "*","symfony/polyfill-php70": "*","symfony/polyfill-php56": "*"
    },"scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd","assets:install %PUBLIC_DIR%": "symfony-cmd"
        },"post-install-cmd": [
            "@auto-scripts"
        ],"post-update-cmd": [
            "@auto-scripts"
        ]
    },"conflict": {
        "symfony/symfony": "*"
    },"extra": {
        "symfony": {
            "allow-contrib": false,"require": "4.4.*"
        }
    }
}

您能帮我解决此问题吗? (如果可能的话,请提供有关导致问题的详细信息)

在此先谢谢你。

解决方法

我可以使用以下命令“ composer upgrade ”解决此问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...