Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não encontra minha classe EntityMangerFactory

Até vi alguns erros parecidos aqui no fórum, mas pelo visto não correspondem com o meu. O erro que encontro quando php teste.php é:

Fatal error: Uncaught Error: Class 'Daluz\Doctrine\Helper\EntityManagerFactory' not found in C:\Users\franc\OneDrive\Documents\Alura\PHP\doctrine\teste.php:6

este é o código da minha EntityManagerFactory.php:

<?php


namespace Daluz\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(): EntityManagerInterface
{
    $rootDir = __DIR__ .'/../..';
    $config = Setup::createAnnotationMetadataConfiguration(
        [$rootDir . '/src'],
        true
    );
    $connection = [
        'driver' => 'pdo_sqlite',
        'path' => $rootDir . '/var/data/banco.sqlite'
    ];
    return EntityManager::create($connection, $config);
}
}

Este é o meu arquivo composer:

{
"require": {
    "doctrine/orm": "^2.7"
},
"autoload": {
    "psr-4": {
        "Daluz\\Doctrine\\": "src/"
    }
}
}

Este é o meu arquivo teste.php

<?php

use Daluz\Doctrine\Helper\EntityManagerFactory;

require_once __DIR__ . '/vendor/autoload.php';
$entityManagerFactory = new EntityManagerFactory();
$entityManger = $entityManagerFactory->getEntityManager();
var_dump($entityManger->getConnection());

o caminho dos meus arquivos são:

doctrine/src/Helper/EntityManagerFactory.php

doctrine/var/data

doctrine/teste.php

1 resposta
solução!

essa pergunta foi duplica, não se por que.