A possibilidade de uso dos namespaces é, talvez, a modificação mais significativa do PHP 5.3.0.
Por que precisamos dos namespaces?
A medida que o código-fonte do PHP cresce e o número de classes, funções e bibliotecas cresce junto fica cada vez mais fácil de acontecer uma “colisão de nomes” que é quando duas classes/funções/variáveis/constantes têm o mesmo nome. Isso acarretará inúmeros erros ao seu sistema.
Até agora a solução foi definida por duas saídas: a primeira é o uso de prefixos, veja o exemplo o Word Press que coloca um “WP_” antes do nome da cada função ou classe.. A outra saída é o uso de nomes gigantescamente descitrivos como por exemplo “funcao_que_retorna_o_total_de_usuarios()”… O que eu nem vou comentar.
Agora, com os namespaces, temos uma terceira (e muito melhor) opção para solucionar esse problema!
O que faz esse tal de namespace?
Imagine que você fez uma função nova para usar no seu site só que ela usa nomes e constantes com nomes genéricos (por exemplo: “user” e “database”)… Ela normalmente seria assim:
<?php
function connect() {
// Faz a sua conexão com o banco de dados
}
?>Só que se você usar alguma outra biblioteca/classe/função pronta, pode haver uma colisão de nomes e você vai precisar mudar o nome da sua função pra algo maior… Só que você não quer isso.
Aí, usando a maravilha do namespace, você faz assim:
<?php
namespace MeuProjeto;
function connect() {
// Faz a sua conexão com o banco de dados
}
?>E quando você precisar chamar a função do MeuProjeto é só fazer assim:
<?php
// Inclui o arquivo com a função
include("conexao-MySQL.php");
// Chama a função dentro do namespace
MeuProjeto/connect();
?>Sintaxe alternativa
<?php
namespace MeuProjeto {
function connect() {
// Faz a sua conexão com o banco de dados
}
}
?>–
Eu usei apenas exemplo com funções, mas os namespaces funcionam muito bem com classes e constantes também! Vale a pena experimentar.
Um grande abraço. ![]()
Você também vai gostar de ler:
- Problemas de incompatibilidade no PHP 5.3
- Usando o MySQLi Orientado a Objetos
- Como criar um Sistema de Login com Níveis de Permissão
- PHP: As 10 melhores práticas pra um iniciante
- Criando um sistema de login com PHP e MySQL
Postado em Artigos, PHP, Tutoriais
Com as tags Banco de Dados, Classe, Classes, Código, Conexão, Constantes, Erros, Funções, MySQL, Namespaces, Novidade, Organização, PHP, PHP 5, PHP 5.3, PHP 5.3.0, Projeto, Scripts, Sistema, SQL, Tutorial, Variáveis
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo:
