Skip to content

Instantly share code, notes, and snippets.

@jaonoctus
Last active September 12, 2015 16:16
Show Gist options
  • Save jaonoctus/e992d703cf55773d1ad1 to your computer and use it in GitHub Desktop.
Save jaonoctus/e992d703cf55773d1ad1 to your computer and use it in GitHub Desktop.
Explicação sobre NAMESPACES
Os namespaces não são obrigatórios, porém são uma boa prática de programação.
Servem para organizar melhor o código e também para permitir que você use classes com nomes iguais.
Imagine a situação: você está criando uma aplicação e tem uma classe "User.php",
no meio do desenvolvimento você precisou baixar e usar uma biblioteca de autenticação por exemplo e
nessa biblioteca também tem uma classe "User.php". Sem os namespaces não teria como usar as duas,
pois você não pode ter classes de nomes iguais, mas com os namespaces podemos, pois vamos ter:
namespace MinhaClasse\User
namespace Biblioteca\User
Os "use" também são uma boa prática de programação.
Pegando o exemplo acima, toda vez que você fosse usar a classe User da biblioteca você deveria digitar por exemplo:
$usuario = new Biblioteca\User();
Agora com os use podemos diminuir o código, pois no começo do arquivo vamos usar:
use Biblioteca\User;
E quando for usar essa classe agora basta escrever: $usuario = new User();
Mas e se tivermos que usar as duas classes User acima, como podemos fazer para diferenciar uma da outra?
Podemos utilizar os "alias":
use MinhaClasse\User as MyUser;
use Biblioteca\User as LibraryUser;
Dessa maneira você dá um "apelido" para a classe e quando for usá-las você usa através desse "apelido", ou melhor o "alias", por exemplo:
$usuario = new MyUser();
$usuario2 = new LibraryUser();
Espero que possa ter ajudado, qualquer dúvida estou à disposição, bons estudos e um grande abraço!!!
@AUTHOR: +CodeShare
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment