混乱的类加载异常 Symfony 4

问题描述 投票:0回答:1

在配置我的symfony应用程序时,我得到了一个错误的控制器命名空间的错误信息,但我确信该文件存在于错误信息中显示的路径中,而我的配置似乎是正确的。

从资源".srcApp*"导入服务时,希望在文件 "varwwwhtmlsrcAppControllerAccountController.php "中找到类 "App/Controller/AccountController",但没有找到!在 "varwwwhtmlsrcAppControllerAccountController.php "中检查资源使用的命名空间前缀。检查在varwwwhtmlconfigservices.yaml中与资源一起使用的命名空间前缀(它被加载在资源 "varwwwhtmlconfigservices.yaml "中)。

在资源 "varwwwhtmlconfigservices.yaml "中加载。

services:
    _defaults:
        autowire: true
        autoconfigure: true

    App\:
        resource: '../src/App/*'
        exclude: '../src/App/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'

    App\Controller\:
        resource: '../src/App/Controller'
        tags: ['controller.service_arguments']

composer.json

"autoload": {
        "psr-4": {
            "App\\": "src/App/",
            "": "src/"
        }
    }

文件夹结构

/src:
    /App:
        /Controller:
            AccountController.php

控制器名称空间

namespace App\Controller;

symfony4
1个回答
-1
投票

看来你使用的是psr-0风格的自动加载器,而不是psr-4。

你必须编辑你的composer.json,像这样。

{
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

然后把你的Controller目录直接移到src

你可以在你的composer.json中设置这个。

{
    "autoload": {
        "psr-0": {
            "App\\": ["src/"]
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.