Last active
September 12, 2015 16:16
-
-
Save jaonoctus/e992d703cf55773d1ad1 to your computer and use it in GitHub Desktop.
Explicação sobre NAMESPACES
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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