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