Vamos as dúvidas:
- Vou usar o sqlsrv que é o banco de dados no meu trabalho. portanto, sempre nos cursos altero o banco usado no treinamento para SQL SERVER. Como faço isso? terei de colocar algo diferente do que o Vinícius fez?
- Após fazer tudo como o instrutor (com exceção do Banco), tentei fazer o teste.php para verificar a conexão, mas deu fatal erro: Uncaught Error: class 'EntityManagerFactory not found in c: ... teste.php. Como resolver isso?
- Como eu vou me conectar com um banco se não passei nem senha?
- o banco de dados não existe, como isso acontece? é criado do nada? acho que faltou alguma informação na aula inicial ou eu não consegui entender. Podem me explicar?
- Estou usando o Sublime, nele não aparece nenhuma opção de comando como na videoaula. como consigo ver quais comandos podem ser executados no caso do EntityManager?
- Estou fazendo como um robô. porque não consigo entender a documentação do doctrine. Seria interessante termos uma aula que detalhasse melhor essa parte. Já fiz o curso do composer, mas fiquei na mesma. Certos detalhes não são explicados e não temos nenhuma consulta online para tirar a dúvida na hora que estamos fazendo a aula, ou algum monitor que possa nos ajudar?
- vou colocar o código PHP abaixo para análise.
<?php
namespace 'Alura\Doctrine\Helper';
class EntityManagerFactory
{
public function getEntityManager():EntityManagerInterface
{
$rootDir = __DIR__ . '/../..';
$config = Setup::createAnnotationMetadataConfiguration([$rootDir . '/src' ], isDevMode: true);
$connection = ['driver' => 'sqlsrv', 'path' => $rootDir . '/var/data/banco.mdf'];
return EntityManager::create($connection, $config);
}
}
arquivo teste.php
<?php
use Alura\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":{
"Alura\\Doctrine\\": "/src"
}
}
}
quando rodei o composer require doctrine/orm e o composer dumpautoload deu tudo certo no terminal.