Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

PHP ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern

Como usar o padrão de projeto Singleton em suas aplicações PHP

Quantidade 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 PHP

Quantidade 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 ColumnHeadersVisible

Quantidade 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

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 74 usuários muito felizes estudando em nosso site.