无法声明 class 已在使用中
Cannot declare a class already in use
我尝试在我的项目上安装和配置 SonataUserBundle。我正确安装并配置了 SonataAdminBundle,一切正常。但是在扩展包并生成应用程序之后我有错误。
我正在使用 Symfony 3.4 版本。
php app/console sonata:easy-extends:generate SonataUserBundle -d src
在我的 src 文件夹中创建了一个名为 Application 的文件夹,其中包含生成的应用程序。
我也将其添加到我的 bundles.php 文件中:
Sonata\UserBundle\SonataUserBundle::class => ['all' => true],
Application\Sonata\UserBundle\ApplicationSonataUserBundle::class => ['all' => true],
并配置了我的路由,但是当我 运行 我的网站时,我得到了这个错误:
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "ApplicationSonataUserBundle" from namespace "Application\Sonata\UserBundle".
您是否忘记了另一个命名空间的 "use" 语句?在 C:\wamp64\www\staff-ma\src\Kernel.php:33
我的 ApplicationSonataUserBundle class :
namespace Application\Sonata\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class ApplicationSonataUserBundle extends Bundle
{
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'SonataUserBundle';
}
}
我的composer.json:
"autoload": {
"psr-4": {
"App\": "src/"
}
我补充说:
"autoload": {
"psr-4": {
"App\": "src/"
"Application\": "src/Application/Sonata/UserBundle/"
}
},
但我又遇到了同样的错误。
解决问题。我刚刚在我的命名空间中添加了 App :
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],
];
我尝试在我的项目上安装和配置 SonataUserBundle。我正确安装并配置了 SonataAdminBundle,一切正常。但是在扩展包并生成应用程序之后我有错误。 我正在使用 Symfony 3.4 版本。
php app/console sonata:easy-extends:generate SonataUserBundle -d src
在我的 src 文件夹中创建了一个名为 Application 的文件夹,其中包含生成的应用程序。 我也将其添加到我的 bundles.php 文件中:
Sonata\UserBundle\SonataUserBundle::class => ['all' => true],
Application\Sonata\UserBundle\ApplicationSonataUserBundle::class => ['all' => true],
并配置了我的路由,但是当我 运行 我的网站时,我得到了这个错误:
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "ApplicationSonataUserBundle" from namespace "Application\Sonata\UserBundle".
您是否忘记了另一个命名空间的 "use" 语句?在 C:\wamp64\www\staff-ma\src\Kernel.php:33
我的 ApplicationSonataUserBundle class :
namespace Application\Sonata\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class ApplicationSonataUserBundle extends Bundle
{
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'SonataUserBundle';
}
}
我的composer.json:
"autoload": {
"psr-4": {
"App\": "src/"
}
我补充说:
"autoload": {
"psr-4": {
"App\": "src/"
"Application\": "src/Application/Sonata/UserBundle/"
}
},
但我又遇到了同样的错误。
解决问题。我刚刚在我的命名空间中添加了 App :
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],
];