Symfony无法在AppKerner中加载类

时间:2015-10-21 13:35:31

标签: php symfony

我在src / UserBundle / UserBundle.php

中创建了新的bundle类
namespace AppBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class UserBundle extends Bundle
{
    public function getParent()
    {
        return 'FOSUserBundle';
    }
}

我正在尝试在AppKerner.php

中加载它
 $bundles = array(
    new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),
    new Symfony\Bundle\TwigBundle\TwigBundle(),
    new Symfony\Bundle\MonologBundle\MonologBundle(),
    new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
    new Symfony\Bundle\AsseticBundle\AsseticBundle(),
    new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
    new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
    new AppBundle\AppBundle(),
    new AppBundle\UserBundle(),
);

获取下一个错误 - 尝试从命名空间“AppBundle”加载类“UserBundle”。 您是否忘记了另一个命名空间的“use”语句?

应如何加载?

1 个答案:

答案 0 :(得分:0)

捆绑包的问题与您的命名空间有关。正确的命名空间应该是:

namespace AppBundle\UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class UserBundle extends Bundle
{
    public function getParent()
    {
        return 'FOSUserBundle';
    }
}

然后你会把它加载为:

$bundles = array(
    new AppBundle\UserBundle\UserBundle()
);

同样适用于您的AppBundle捆绑包。顺便说一句,您可能应该将src/AppBundle重命名为src/App以避免使用"捆绑"字。