Во-первых, извините, если мой английский не так хорош. Я прочитал много вопросов, подобных тому, который у меня есть, но любое решение работает. Вопрос в том, что я разрабатываю проект в Symfony 2.3, да, я новичок в этом...
Я создал «Userbundle» и хочу отобразить информационный профиль пользователя.
Когда я обращаюсь к правильному URL-адресу, у меня появляется известная ошибка сообщения:
«Автозагрузчик ожидал, что класс «Mylife\UserBundle\Entity\UserRepository» будет определен в файле «D:\www\Symfony/src\Mylife\UserBundle\Entity\UserRepository.php». Файл был найден, но класс не был в это, имя класса или пространство имен, вероятно, имеет опечатку."
Это мой код контроллера по умолчанию:
namespace Mylife\UserBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Mylife\UserBundle\Entity\User;
use Mylife\UserBundle\Form\Frontend\RegisterType;
class DefaultController extends Controller
{
public function profileAction(){
$user_id=1;
$em=$this->getDoctrine()->getEntityManager();
$profile=$em->getRepository('UserBundle:User')
->findProfile($user_id);
return $this->render('UserBundle:Default:profile.html.twig', array( 'profile' => $profile));
}
И мой код UserRepository.php:
// src/Mylife/UserBundle/Entity/UserRepository.php
namespace Mylife\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function findProfile($user)
{
$em = $this->getEntityManager();
$consult= $em->createQuery('
SELECT u, nk, n
FROM UserBundle:User u
WHERE u.user= :id');
$consult->setParameter('id', $user);
return $consult->getResult();
}
}
У меня такая же проблема при попытке использовать класс формы в том же комплекте, но я не вижу ошибок в имени имени или классе.
Структура проекта такова:
-src
-Mylife
-UserBundle
....
-Entity
...
-User.php
-UserRepository.php
Я схожу с ума, пытаясь решить проблему и читая много форумов и примеров. Я пытался отключить APC, перезапустить Apache, стереть кеш, и ничего из этого не сработало.
Большое спасибо!! Карлос
PD: Я не уверен, почему появляется фрагмент кода в верхней части страницы с ошибкой и почему он начинается в строке "getEntityMAnager();..."... Почему не отображается текстовый код перед ним?. Изображение: http://es.tinypic.com?ref=r0s8k5
ВАЖНО: когда я сгенерировал сущность USer с помощью консоли, я сказал «нет», когда меня попросили создать репозиторий. Может в этом проблема. Любое предложение сейчас? Еще раз спасибо