2013-05-14 3 views
-1

Это NewEventController.php:Symfony2 "Фатальная ошибка: Класс не найден"

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 { 
    //...  
} 

Я получаю эту ошибку:

Fatal error: Class 'Passtuff\RestBundle\Entity\Event' not found in /home/mattia/sites/Symfony/src/Passtuff/RestBundle/Controller/NewEventController.php on line 14 

Зачем?

Большое спасибо за помощь.

Я пишу эту строку только потому, что иначе stackoverflow не позволяет мне публиковать сообщения. «Похоже, что ваш пост - это в основном код» :-)

+0

и каковы пути к файлам? –

+0

Пути файлов /home/mattia/sites/Symfony/src/Passtuff/RestBundle/Controller/NewEventController.php и /home/mattia/sites/Symfony/src/Passtuff/RestBundle/Entity/Event.php –

ответ

2

Проблема заключалась в том, что у Entity directroy были неправильные разрешения.

Разрешение для 775 решить проблему.

0

Попробуйте очистить кеш в приложении/кеше и убедитесь, что вы добавили свой комплект в ядро.

+0

Спасибо за ответ. Я уже пытался удалить кеш, либо вручную, либо соколе. Symfonyprofiler подтверждает, что пакет активен. –

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.

+0

Спасибо за ответ. Пакет правильно зарегистрирован в файле AppKernel.php. Symfonyprofiler подтверждает, что пакет активен. Я создал пакет, используя «app/console generate: bundle», и я проверил правильность каталогов. –

Смежные вопросы