【问题标题】:"Fatal error: Class not Found" in Symfony2Symfony2 中的“致命错误:找不到类”
【发布时间】:2013-05-08 15:05:12
【问题描述】:

这是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”

为什么?

【问题讨论】:

  • 文件路径是什么?
  • 文件路径是 /home/mattia/sites/Symfony/src/Passtuff/RestBundle/Controller/NewEventController.php 和 /home/mattia/sites/Symfony/src/Passtuff/RestBundle/Entity/事件.php

标签: symfony doctrine-orm entity classnotfound


【解决方案1】:

问题是实体目录的权限错误。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢您的回复。我已经尝试手动或通过 cosole 删除缓存。 Symfonyprofiler 确认包是活动的。
    【解决方案3】:

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

    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 上的官方文档。

    【讨论】:

    • 感谢您的回复。该包在 AppKernel.php 文件中正确注册。 Symfonyprofiler 确认包是活动的。我使用“app/console generate:bundle”创建了包,并检查了目录是否正确。
    猜你喜欢
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2011-12-17
    • 2018-12-21
    • 2012-11-21
    相关资源
    最近更新 更多