1
resposta

Mesmo problema com namespace

Olá pessoal! O Vinicius me recomendou no outro tópico assistir ao curso de Orientação a Objetos, que abordava namespace, e assim eu fiz. Consertei um erro encontrado no código, mas mesmo assim, continuo com o mesmo retorno no cmd.

Fatal error: Uncaught Error: Class 'Cursos\Doctrine\Helper\EntityManagerFactory' not found in C:\Users\email\Área de Trabalho\Cursos\Doctrine\teste.php:6
Stack trace:
#0 {main}
  thrown in C:\Users\email\Área de Trabalho\Cursos\Doctrine\teste.php on line 6

Seguem os códigos EntityManagerFactory.php

<?php

namespace Doctrine\Helper;

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

class EntityManagerHelper{

    public function getEntityManager(): EntityManagerInterface{

        $rootDir = __DIR__ .'/../..'; 
        $config = Setup::createAnnotationMetadataConfiguration(
            [$rootDir.'/src'], true
        );
        $connection = [
            'driver' => 'pdo_sqlite',
            'path' => $rootDir.'/var/data/banco.sqlite'
        ];

        return EntityManager::create($connection, $config);

    }

}

?>

teste.php

<?php

use Doctrine\Helper\EntityManagerFactory;
require_once __DIR__ .'/vendor/autoload.php';

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

var_dump($entityManager->getConnection());

?>

composer.json

{
    "require": {
        "doctrine/orm": "^2.6"
    },

    "autoload": {
        "psr-4":{
            "Doctrine\\": "src/"
        }
    }
}

Onde será que ainda estou errando?

Abraços.

1 resposta

Nome da sua classe: EntityManagerHelper.

Classe que você tentou instanciar: EntityManagerFactory. Esse é o erro.

:-)

E, sua mensagem de erro não está condizente com o código colado... Estranho

De qualquer forma, execute também composer dump-autoload para garantir que tudo está certo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software