Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Diferença do use "nome namespace" e require

Boa tarde. Estou confusa sobre a diferença do require_once para o use namespace. Queria ver se entendi:

require_once encontra onde está localizado fisicamente o arquivo e use nomeNamespace encontra onde está localizado logicamente o arquivo?

4 respostas

Mais ou menos, Karolina.

O require pega o arquivo informado e faz um "Ctrl + V" no arquivo atual. É como o PHP vai encontrar o arquivo onde a classe realmente está definida.

Já o use é para nós simplificarmos o código. Ao invés de usar new Namespace\Completo\Para\Classe em todo lugar que formos instanciar um objeto desse tipo nós podemos colocar use Namespace\Completo\Para\Classe no início do arquivo e quando formos instanciar, podemos usar somente new Classe, entende? O use é somente para resolver o nome.

Entendi, mas queria entender melhor. Na verdade quero entender a diferença de require_once para namespace, parece fazerem a mesma coisa.

solução!

Então, Karolina, na verdade eles são bem diferentes. O namespace é só uma forma de dar um "nome completo" pra sua classe. O require importa arquivos. Esses arquivos nem precisam conter classes. Pode ser um arquivo que possua várias funções, por exemplo.

Ah compreendi. Obg!