Programação / PHP

Singleton com PHP, implementar ou não implementar?

Um padrão de projetos (design pattern) que está gerando uma boa discussão entre os desenvolvedores PHP é o Singleton. Nesta vídeo aula veremos porque utilizar o Singleton faz sentido em um projeto com PHP!

Por Robson V. Leite

Publicado por Robson V. Leite
em 29/07/2014 às 22h45

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR
Compartilhe:

Saudações meus queridos, recentemente tive acesso a um Hangout que me foi indicado por um ticket onde os tutores do mesmo deram exemplos afim de provar que não é inteligente utilizar Singleton em um projeto PHP.

A explicação foi baseada em que o PHP destrói qualquer instancia ao deixar de utilizar a mesma, e que a cada requisição uma nova é criada. Com casos de utilização em chats ou em softwares de desktops, os exemplos construídos me deixaram intrigado. Pois em nem um momento o Singleton foi mostrado ao que veio.

Já diziam os antigos que:

O padrão Singleton se aplica em situações em que é preciso haver uma só instância de uma classe (PHP.net). E ainda que possamos servir essa instância para várias outras classes. No Curso Work Series - PHP Orientado a Objetos utilizamos esse padrão para realizar a conexão e instanciar um objeto PDO, que se mantem disponível durante o ciclo de requisição.

Tendo assim o cenário de Singleton válido sendo aplicado de forma inteligente a garantir uma única instancia da PDO no documento. Ainda garantindo que a mesma seja acessível do início ao fim do ciclo da requisição. Afinal, estamos trabalhando em um cenário World Wide Web.

Achei importante gravar essa aula para disseminar esse conceito de forma mais clara, mostrando que é inteligente sim utilizar esse pattern com PHP. E empregado de maneira coesa, resulta em bons resultados.

Bom meus queridos, espero que gostem da aula, e estou aqui para debatermos isso nos comentários. Aquele forte abraço e não deixem de compartilhar nos links abaixo :P

Compartilhe:

Em Programação:

Deixe seu comentário: