PHP

Você está em: Home » Desenvolvimento » PHP » Usando Namespaces no PHP

« Voltar

Usando Namespaces no PHP

14 de July de 2009 - 09:43


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. 

Fonte: Thiago Belem / Blog

O que você achou deste conteúdo?

  • Bom
  • Ruim
 

  • del.icio.us
  • Digg
  • reddit
  • StumbleUpon
  • Technorati
 

Comentários (0)

Comente

 

Trocar imagem

 

Importante: Os comentários publicados através deste website são de exclusiva e integral responsabilidade de seus autores.

publicidade

Fonte

Thiago Belem / Blog

Thiago Belem / Blog

PHP, MySQL, jQuery e Desenvolvimento WEB

publicidade

IMD Auditoria