Class 已在使用异常

Class already in use exception

我正在尝试在我的 symfony4 项目中使用 SonataAdminBundle 和 SonataUserBundle。当我尝试扩展 SonataUserBundle 时,我收到一条错误消息,指出我的新 class 已在使用中:

Fatal error: Cannot declare class Application\Sonata\UserBundle\ApplicationSonat
aUserBundle, because the name is already in use in C:\wamp64\www\staff-test\src\
Application\Sonata\UserBundle\ApplicationSonataUserBundle.php on line 24

我在 bundles.php 文件上启用了捆绑包 在 composer.json 文件中,我在 psr4 属性上添加了我的新包。 我将我的新捆绑包映射到教义上 我的 ApplicationSonataUserBundle class 仅在我的 Bundle 中使用。我扩展了它:

php bin/console sonata:easy-extends:generate SonataUserBundle --dest=src --namespace_prefix=App

我的 Bundles.php 文件:

return [
    Application\Sonata\UserBundle\ApplicationSonataUserBundle::class => ['all' => true],
];

Composer.json:

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

doctrine.yaml

orm:
        auto_generate_proxy_classes: true
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true
                mappings:
                    SonataUserBundle: ~
                    FOSUserBundle: ~
                    ApplicationSonataUserBundle: ~

ApplicationSonataUserBundle class:

<?php

namespace Application\Sonata\UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

/**
 * This file has been generated by the SonataEasyExtendsBundle.
 *
 * @link https://sonata-project.org/easy-extends
 *
 * References:
 * @link http://symfony.com/doc/current/book/bundles.html
 */
class ApplicationSonataUserBundle extends Bundle
{
    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'SonataUserBundle';
    }
}
"require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "friendsofsymfony/rest-bundle": "^2.5",
        "nelmio/api-doc-bundle": "^3.4",
        "sensio/framework-extra-bundle": "^5.1",
        "sonata-project/admin-bundle": "^3.48",
        "sonata-project/doctrine-orm-admin-bundle": "^3.8",
        "sonata-project/user-bundle": "^4.3",
        "symfony/acl-bundle": "^1.0",
        "symfony/asset": "4.2.*",
        "symfony/console": "4.2.*",
        "symfony/dotenv": "4.2.*",
        "symfony/expression-language": "4.2.*",
        "symfony/flex": "^1.1",
        "symfony/form": "4.2.*",
        "symfony/framework-bundle": "4.2.*",
        "symfony/monolog-bundle": "^3.1",
        "symfony/orm-pack": "*",
        "symfony/process": "4.2.*",
        "symfony/security-bundle": "4.2.*",
        "symfony/serializer-pack": "*",
        "symfony/swiftmailer-bundle": "^3.1",
        "symfony/translation": "4.2.*",
        "symfony/twig-bundle": "4.2.*",
        "symfony/validator": "4.2.*",
        "symfony/web-link": "4.2.*",
        "symfony/yaml": "4.2.*"
    },

我只需要扩展 SonataUserBundle,但每次尝试这样做时,我都会遇到同样的问题。我在我的项目中使用 Symfony4。扩展包后出现异常

知道这个问题吗?我之前发布过这个问题,但没有答案。

解决问题。我刚刚在我的命名空间中添加了应用程序:

namespace App\Application\Sonata\UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

/**
 * This file has been generated by the SonataEasyExtendsBundle.
 *
 * @link https://sonata-project.org/easy-extends
 *
 * References:
 * @link http://symfony.com/doc/current/book/bundles.html
 */
class ApplicationSonataUserBundle extends Bundle
{
    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'SonataUserBundle';
    }
}

在 bundles.php 中也是如此:

return [
    App\Application\Sonata\UserBundle\ApplicationSonataUserBundle::class => ['all' => true],
];