如何解决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 ”解决此问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。