Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

O autoloader não esta buscando a classe EntityManager

Olá Vinicius!

Este erro aparece ao executar o teste.php:

Fatal error: Uncaught Error: Class 'EntityManagerFactory' not found in C:\xampp\htdocs\Curso Doctrine\teste.php:5 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Curso Doctrine\teste.php on line 5

O meu namespace é:

namespace \Curso Doctrine\Helper;
4 respostas

Olá, Danilo. Você não pode usar espaços em um namespace.

Resolvi este erro chamando diretamente, porém outro aparece apesar de eu já ter instalado o Doctrine nesta pasta:

Fatal error: Uncaught Error: Class 'Setup' not found in C:\xampp\htdocs\Curso_Doctrine\src\Helper\EntityManagerFactory.php:15 Stack trace: #0 C:\xampp\htdocs\Curso_Doctrine\teste.php(7): EntityManagerFactory->getEntityManager() #1 {main} thrown in C:\xampp\htdocs\Curso_Doctrine\src\Helper\EntityManagerFactory.php on line 15

require_once __DIR__.'/vendor/autoload.php';
require_once 'C:/xampp/htdocs/Curso_Doctrine/src/Helper/EntityManagerFactory.php';

$entityManagerFactory=new EntityManagerFactory();
$entityManager=$entityManagerFactory->getEntityManager();

var_dump($entityManager->getConnection());

Fala, Danilo.

Você provavelmente não informou o namespace correto da classe Setup no EntityManagerFactory. =/

solução!

Consegui, oque faltavam eram as referências ao Doctrine que tive que inserir manualmente já que o editor de código que estou usando, ao contrário de outros, não as insere automaticamente.

use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Tools\Setup;