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

Importação com require/include

Tenho uma dúvida: eu programo em Java, e no Java, quando vamos importar algo para o contexto atual, temos a ideia de que, o que estamos importando, vem do arquivo importado para ser usado no escopo de quem importou.

Mas aos 2:14 da aula, o professor dá um require na classe "ListarCursos.php" para o arquivo "listar-cursos.php", o que para mim não faz sentido. Pois ao meu ver, deveria ser ao contrário, ou seja, deveria ser um require em "listar-cursos.php" para "ListarCursos.php". Importando(trazendo a variável $curso) de ListarCursos.php para ser usada em listar-cursos.php

Já que a variável $cursos está definida em "ListarCursos.php" e será usada em "listar-cursos.php".

Então o require funciona ao contrário ? Ao invés de trazer a informação, ele envia para o contexto ?

1 resposta
solução!

Olá, Luiz. Não sei se entendi bem sua dúvida...

Nosso front-controller executa o controller ListarCursos, certo? Esse controller precisa exibir a view que está definida no listar-cursos.php, correto? O que o require faz nesse caso é basicamente "copiar" o conteúdo de listar-cursos.php e colar naquele ponto onde foi executado no controller. Dessa forma é como se toda a view estivesse sendo executada no controller, porém nós temos os arquivos separados, entende?

Já para adiantar um pouco seus estudos de PHP: Via de regra em projetos mais profissionais, nós utilizamos ferramentas que tornam a escrita de nossas views um pouco mais amigáveis, então esse require se transformaria na chamada de uma dessas ferramentas (dá uma olhada no Alura+ sobre Twig pra entender melhor). :-)