Symfony2中的“致命错误:未找到类”

时间:2013-05-14 10:57:39

标签: symfony doctrine-orm entity classnotfound

这是NewEventController.php:

namespace Passtuff\RestBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Passtuff\RestBundle\Entity\Event;

class NewEventController extends Controller
{   
    public function createAction()
    {
        $event = new Event(); //line 14

        //...
    }

}

这是Event.php

namespace Passtuff\RestBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="event")
 */
class Event {
    //...    
}

我收到此错误:

  

致命错误:第14行/home/mattia/sites/Symfony/src/Passtuff/RestBundle/Controller/NewEventController.php中找不到类'Passtuff \ RestBundle \ Entity \ Event'

为什么?

3 个答案:

答案 0 :(得分:2)

问题是Entity目录的权限错误。

将这些权限设置为775解决了问题。

答案 1 :(得分:0)

尝试在app / cache中清除缓存,并确保已将捆绑包添加到内核。

答案 2 :(得分:0)

您需要确保在应用程序目录中的PasstuffRestBundle文件中注册了AppKernel.php

class AppKernel extends Kernel
{
    // ...

    public function registerBundles()
    {
        $bundles = [
            new Passtuff\RestBundle\PasstuffRestBundle(),
        ];
    }
}

然后,您需要确保您的捆绑包位于正确的目录中,并遵循正确的约定,在本例中为PSR-0约定:

app/
src/
    Passtuff/
        RestBundle/
            PasstuffRestBundle.php
web/

有关详细信息,请查看best practices for structuring bundles上的官方文档。