Исключение класса уже используется

Я пытаюсь использовать SonataAdminBundle и SonataUserBundle в своем проекте symfony4. Когда я пытаюсь расширить SonataUserBundle, я получаю сообщение об ошибке, что мой новый класс уже используется:

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 используется только в моем Bundle. Я расширил его:

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

Мой файл Bundles.php:

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

Композитор.json:

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

доктрина.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:

<?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 в своем проекте. Исключение появляется после расширения пакета.

Любая идея об этой проблеме? Я писал о проблеме раньше, но ответа нет.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
121
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы решить проблему. Я только что добавил приложение в свое пространство имен:

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],
];

Другие вопросы по теме