1
resposta

Dúvidas

1) Você disse que temos que criar os arquivos referente ao componente de migrations na pasta onde vamos utilizar os comando e confesso que não entendi porque para o orm por exemplo, ainda que não tivessemos criado o Entity Manager na raiz do projeto, ainda assim ele sabe que os comandos que eu executar são para o projeto como um todo não?

2) Criamos o arquivo cli-config.php, minha dúvida é se não poderíamos utilizar o doctrine.php que criamos na pasta bin.

3) Outra dúvida quando faço esse comando sem php antes, não funciona:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

tem que colocar o "php" antes para funcionar:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porém quando executo esse comando sem a palavra php, funciona:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porquê?

1 resposta

Olá, Karolina! Como vai?

Peço desculpas pela demora no retorno a sua mensagem.

Vamos às suas dúvidas:

  1. Quando se trata do ORM, o Entity Manager é responsável por gerenciar as entidades e suas relações no contexto do projeto na totalidade. No entanto, as migrations são específicas de um determinado componente ou módulo do projeto.

    Portanto, ao criar os arquivos de migrations na pasta onde você vai utilizar os comandos, você está definindo que essas migrations pertencem àquele componente específico. Dessa forma, o Doctrine sabe exatamente quais migrations devem ser executadas em cada contexto.

  2. O arquivo "cli-config.php" é utilizado para configurar o ambiente de linha de comando do Doctrine, enquanto o doctrine.php na pasta "bin" é utilizado para executar comandos específicos do Doctrine, como a criação de entidades.

    Embora seja possível utilizar o "doctrine.php" para realizar algumas configurações, é recomendado utilizar o cli-config.php para manter a organização e separação de responsabilidades.

  3. Sobre a necessidade de utilizar o "php" antes de alguns comandos, isso ocorre porque o comando em questão precisa ser executado pelo interpretador do PHP.

    No seu caso, no primeiro print você está tentando executar um arquivo com a extensão .php e para fazer isso você precisa do interpretador, logo é necessário utilizar o "php" no início do comando. Já no seu terceiro print, você está rodando um script, e o mesmo não precisa do interpretador do PHP, precisando apenas que seja passado o caminho de referência dele.

Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, estou à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

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