Possivelmente em Abril o pessoal irá lançar definitivamente a nova versão do PHP, 5.3, trazendo algumas novidades legais, dentre elas uma que achei fantástica, a Namespaces.
O problema
Em um projeto grande onde não só você vai mexer ou mesmo em que usa muitas blibliotecas diferentes ao mesmo tempo não é dificil ocorrer de você escrever uma classe com nome duplicado
Classe criada por jõao para retirar dinheiro do banco
class Retira {
}
function Retira() {
}
Classe criada por maria para retirar extrato de conta
class Retira {
}
function Retira() {
}
Se essas duas classes forem incluídas no mesmo local e chamarem o método Retira já imaginou a confusão que vai dar? o cliente vai tentar sacar e invés de sacar vai sair o extrato :wacko:
A solução
Assim o pessoal do PHP resolveu dar um jeito nisso criando o Namespaces, agora você pode fazer isto:
Classe criada por jõao para retirar dinheiro do banco
namespace JoaoLibrary::Saque;
class Retira {
}
function Retira() {
}
Classe criada por maria para retirar extrato de conta
namespace MariaLibrary::Extrato;
class Retira {
}
function Retira() {
}
Chamando da seguinte forma
$a = new MariaLibrary::Extrato::Retira;
MariaLibrary::Extrato::Retira();
Parece nada mas quando você começa a usar faz uma diferença legal, principalmente trabalhando com frameworks. O problema é acostumar ;/
Pergunta
Norivan Oliveira
Olá a todos,
Possivelmente em Abril o pessoal irá lançar definitivamente a nova versão do PHP, 5.3, trazendo algumas novidades legais, dentre elas uma que achei fantástica, a Namespaces.
O problema
Em um projeto grande onde não só você vai mexer ou mesmo em que usa muitas blibliotecas diferentes ao mesmo tempo não é dificil ocorrer de você escrever uma classe com nome duplicado
Classe criada por jõao para retirar dinheiro do banco
Classe criada por maria para retirar extrato de conta Se essas duas classes forem incluídas no mesmo local e chamarem o método Retira já imaginou a confusão que vai dar? o cliente vai tentar sacar e invés de sacar vai sair o extrato :wacko: A solução Assim o pessoal do PHP resolveu dar um jeito nisso criando o Namespaces, agora você pode fazer isto: Classe criada por jõao para retirar dinheiro do banco Classe criada por maria para retirar extrato de conta Chamando da seguinte formaParece nada mas quando você começa a usar faz uma diferença legal, principalmente trabalhando com frameworks. O problema é acostumar ;/
Baixe o PHP 5.30 e teste você mesmo: http://snaps.php.net/php5.3-200901090330.tar.gz
:D
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.