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

Doctrine

Boa noite, estava seguindo a aula de doctrine e tive o seguinte erro

Fatal error: Uncaught TypeError: Return value of Alura\Doctrine\Helper\EntityManagerFactory::getEntityManager() must be an instance of Alura\Doctrine\Helper\EntityManagerInterfacenterface, instance of Doctrine\ORM\EntityManager returned in C:\xampp\htdocs\Alura\doctrine\src\Helper\EntityManagerFactory.php:28 Stack trace: #0 C:\xampp\htdocs\Alura\doctrine\teste.php(8): Alura\Doctrine\Helper\EntityManagerFactory->getEntityManager() #1 {main} thrown in C:\xampp\htdocs\Alura\doctrine\src\Helper\EntityManagerFactory.php on line 28

<?php


namespace Alura\Doctrine\Helper;


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

class EntityManagerFactory
{
    /**
     * @return EntityManagerInterface
     * @throws \Doctrine\ORM\ORMException
     */
    public function getEntityManager(): EntityManagerInterfacenterface
    {
        $rootDir = __DIR__ . '/../..';
        $config = Setup::createAnnotationMetadataConfiguration(
            [$rootDir . '/src'],
            true
        );
        $connection = [
            'driver' => 'pdo_sqlite',
            'path' => $rootDir . '/var/data/banco.sqlite'
        ];
        return EntityManager::create($connection, $config);
    }
}
<?php

use Alura\Doctrine\Helper\EntityManagerFactory;

require_once __DIR__ . '/vendor/autoload.php';

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

var_dump($entityManager->getConnection());
2 respostas

Alguém pode me ajudar?

solução!

Seu erro está aqui, Vitor:

public function getEntityManager(): EntityManagerInterfacenterface

Você escreveu EntityManagerInterface errado.

Esse é um dos motivos pra eu recomendar o PHPStorm. Esse tipo de erro de digitação é bem chatinho de achar, ainda mais quando estamos cansados. rsrsrs