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?
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?
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.
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!