Programação avançada de PHP – como usar o namespace em PHP
Para iniciantes em PHP, o conceito de namespaces parece bastante complexo. Mas, uma vez que entendemos os fundamentos de namespaces, é fácil de implementar. Neste artigo, estudamos como usar o namespace em PHP.
Como desenvolvedor, você terá uma noção da programação PHP avançada enquanto usa os namespaces em seu código.
PHP introduziu namespaces para evitar conflitos de nomenclatura entre classes, funções e constantes.
Quando trabalhamos em um grande projeto, pode haver a possibilidade de os programadores darem os mesmos nomes a classes, funções ou constantes. Por exemplo, se 2 programadores definem a mesma classe A, então o PHP lança um erro fatal como não pode redeclarar a classe A.
Definir namespace em PHP
Para entender quando devemos definir o namespace, escreveremos um trecho de código.
Digamos que nosso desenvolvedor escreveu um código abaixo em um arquivo john.php. Este código é apenas um exemplo para explicar os namespaces. Para simplificar, escrevemos função, classe e constantes no mesmo arquivo.
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
Temos outro desenvolvedor que também usou o mesmo nome para classes, funções e constantes, mas para finalidades (saídas) diferentes. Seu nome de arquivo é sam.php.
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
Agora, quando ambos os arquivos do desenvolvedor forem incluídos em nosso projeto, obteremos o erro fatal. O motivo do erro é que não podemos usar o mesmo nome duas vezes para uma classe ou método.
É aqui que devemos definir o namespace.
Em ambos os arquivos PHP, podemos definir namespaces como a seguir.
<?php
namespace John;
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
?>
E
<?php
namespace Sam;
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
?>
Depois de adicionarmos namespaces aos arquivos acima, os erros de PHP desaparecerão.
Usando namespaces
Neste estágio, concluímos a definição de namespaces. A próxima etapa é como usar namespaces em PHP.
Para usar o método, classe e constantes de ambos os programadores, precisamos escrever um código como segue.
<?php
require_once('john.php');
require_once('sam.php');
Sammy_name(); //output "Sam"
Johnmy_name(); //output "John"
$a = new SamProgramming();
$a->my_language(); //output "Python"
$b = new JohnProgramming();
$b->my_language(); //output "John"
echo JohnMYCONST; //output "1"
echo SamMYCONST; //output "2"
?>
Para acessar classes ou métodos, temos que acrescentar o nome do namespace antes dele.
Esperamos que você entenda como usar o namespace em PHP. Se você tiver alguma dúvida ou sugestão, por favor, deixe um comentário abaixo.