PHP ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern |
Como usar o padrão de projeto Singleton em suas aplicações PHPQuantidade de visualizações: 9307 vezes |
|
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementados extensivamente nas linguagens Java e C#. Como o PHP, a partir de sua versão 5, suporta praticamente todos os recursos da programação orientada a objetos, este padrão pode ser implementado também nesta linguagem sem muitas dificuldades. Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação. Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente. Vamos ver um exemplo deste padrão em PHP. Observe o código a seguir:
<?
// Uma classe Singleton responsável por gravar
// logs no sistema
class Logger{
// variável estática e privada que guarda a instância
// atual da classe
private static $instancia = NULL;
// Método estático que retorna uma instância já existente, ou
// cria uma nova instância
public static function getInstance(){
if(self::$instancia == NULL){
self::$instancia = new Logger();
}
return self::$instancia;
}
// Construtor privado para evitar que instâncias sejam
// criadas usando new
private function __construct(){
// não precisamos fazer nada aqui
}
// Método clone() também privado para evitar a criação
// de clones desta classe
private function __clone(){
// não precisamos fazer nada aqui
}
public function registrarLog($dados){
echo "Vou registrar o log: " . $dados;
}
}
// vamos registrar um novo log usando a classe Singleton
Logger::getInstance()->registrarLog("Novo usuário cadastrado.");
?>
Ao executar este código teremos o seguinte resultado: Vou registrar o log: Novo usuário cadastrado. |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em C#Quantidade de visualizações: 3561 vezes |
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em C# usando-se o operador de módulo %, que retorna o resto de uma divisão entre números inteiros. Veja:
static void Main(string[] args){
Console.Write("Informe um valor inteiro: ");
int num = int.Parse(Console.ReadLine());
if(num % 2 == 0){
Console.WriteLine("Você informou um numero par");
}
else{
Console.WriteLine("Você informou um numero impar");
}
Console.WriteLine("\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
Ao executar este programa C# nós teremos o seguinte resultado: Informe um valor inteiro: 8 Você informou um numero par |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como abrir um arquivo em PHP - Passos necessários para abrir um arquivo usando PHPQuantidade de visualizações: 18514 vezes |
|
Nesta dica mostrarei os passos necessários para abrir um arquivo usando PHP. Note que usei a função file_exists() para verificar se o caminho e nome do arquivo indicados existem no sistema. Em seguida efetuamos uma chamada à função fopen() indicando que o arquivo será aberto no modo leitura. Veja como coloquei todo o código em uma exceção try..catch. Usar exceções em PHP é a melhor forma de garantir que seus códigos responderão corretamente a eventos inesperados. Veja o código completo para o exemplo:
<?php
// Informe o nome do arquivo que você deseja abrir
$arquivo = "c:\\estudos_php\\teste.txt";
// Use a função file_exists() para confirmar a existência do
// do arquivo.
if(file_exists($arquivo)){
// Tente abrir o arquivo (neste exemplo vamos abrí-lo para leitura)
try{
if($readfile = fopen($arquivo, "r")){
// Já podemos manipular o arquivo.
echo "Arquivo aberto com sucesso.";
}
else{
// Não foi possível abrir. Vamos lançar uma exceção.
throw new exception("Não consegui abrir o arquivo.");
}
}
catch(exception $e){
echo $e->getmessage();
}
}
else{
echo "Arquivo não existe.";
}
?>
Ao executar este código PHP nós teremos duas situações. Se o arquivo existir, a mensagem "Arquivo aberto com sucesso." será exibida. Se o arquivo não existir, a mensagem "Arquivo não existe". Há ainda uma terceira mensagem, que será exibida caso a exceção for atirada, indicando que o arquivo não pôde ser aberto por alguma outra razão. |
C# ::: Windows Forms ::: DataGridView |
Como ocultar ou exibir os títulos das colunas de um DataGridView do C# Windows Forms usando a propriedade ColumnHeadersVisibleQuantidade de visualizações: 8278 vezes |
Os títulos das colunas de um DataGridView podem ser ocultados definindo-se o valor false para a propriedade ColumnHeadersVisible. Veja:dataGridView1.ColumnHeadersVisible = false; Para exibir os títulos das colunas novamente só precisamos fornecer o valor true. Veja: dataGridView1.ColumnHeadersVisible = true; |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java GoLang - Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString() AutoCAD Civil 3D .NET C# - Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API Java - Como testar o conteúdo no final de uma string usando Java - O método endsWith() da classe String |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




