Aula 9: Por que Usar uma Classe para Gerenciar a Conexão?

Por: Nerd Toolkit Postado em: Outubro 21, 2024 Visto por: 522

1. Por que Usar uma Classe para Gerenciar a Conexão?

Ao criar uma classe para gerenciar a conexão com o banco de dados, você obtém vários benefícios:

  • Reutilização de Código: A classe pode ser reutilizada em diferentes partes do projeto, evitando a repetição de código.
  • Facilidade de Manutenção: Se houver a necessidade de alterar os detalhes de conexão, você só precisa modificar a classe, e todas as áreas do projeto serão atualizadas automaticamente.
  • Segurança e Abstração: A classe esconde detalhes técnicos da conexão, fornecendo um nível de abstração.

2. Estrutura da Classe Database

Vamos lembrar da classe chamada Database, que foi criada na aula anterior e que será responsável por estabelecer a conexão com o banco de dados e fornecer essa conexão para outras partes do sistema.

Verifique no diretório classes do seu projeto, se existe um arquivo chamado Database.php. Caso não exista, será necessário criar ele novamente. 

<?php
class Database {
   private $host = "localhost";
   private $db_name = "gerenciador_tarefas";
   private $username = "root";
   private $password = "";
   public $conn;
   // Método para obter a conexão com o banco de dados
   public function getConnection() {
       $this->conn = null;
       // Tentativa de conectar ao banco de dados
       try {
           $this->conn = new mysqli($this->host, $this->username, $this->password, $this->db_name);
           if ($this->conn->connect_error) {
               die("Erro de conexão: " . $this->conn->connect_error);
           }
       } catch (Exception $e) {
           echo "Erro de conexão: " . $e->getMessage();
       }
       return $this->conn;
   }
}

3. Explicação do Código

  • Propriedades da Classe:
    • $host: O endereço do servidor de banco de dados.
    • $db_name: O nome do banco de dados ao qual queremos conectar.
    • $username: O nome de usuário do banco de dados.
    • $password: A senha do banco de dados.
    • $conn: A variável que armazenará a conexão ativa com o banco de dados.
  • Método getConnection():
    • Este método tenta estabelecer a conexão com o banco de dados usando o mysqli.
    • Em caso de sucesso, a conexão é armazenada em $conn e retornada.
    • Em caso de erro, uma mensagem de erro é exibida.

4. Usando a Classe Database

Agora que a classe Database está criada, vamos utilizá-la em outras partes do nosso projeto.

Passo 2: Criando o Arquivo index.php para Testar a Conexão

Crie um arquivo index.php para testar se a conexão está funcionando corretamente.

<?php
require_once 'classes/Database.php';
$database = new Database();
$conn = $database->getConnection();
if ($conn) {
   echo "Conexão estabelecida com sucesso!";
} else {
   echo "Falha ao conectar ao banco de dados.";
}
?>

Passo 3: Executando o Teste

  • Acesse o arquivo index.php no navegador.
  • Se a conexão for bem-sucedida, a mensagem "Conexão estabelecida com sucesso!" será exibida.

5. Melhorando a Classe Database

Segurança: É uma boa prática não expor diretamente as credenciais de conexão no código. Uma abordagem comum é armazenar esses dados em arquivos de configuração ou variáveis de ambiente.

Exemplo de Melhorias:

class Database {
   private $host;
   private $db_name;
   private $username;
   private $password;
   public $conn;
   public function __construct() {
       $this->host = getenv('DB_HOST');
       $this->db_name = getenv('DB_NAME');
       $this->username = getenv('DB_USERNAME');
       $this->password = getenv('DB_PASSWORD');
   }
   public function getConnection() {
       $this->conn = null;
       try {
           $this->conn = new mysqli($this->host, $this->username, $this->password, $this->db_name);
           if ($this->conn->connect_error) {
               die("Erro de conexão: " . $this->conn->connect_error);
           }
       } catch (Exception $e) {
           echo "Erro de conexão: " . $e->getMessage();
       }
       return $this->conn;
   }
}

Usando Variáveis de Ambiente:

  • As informações sensíveis, como DB_HOST, DB_NAME, DB_USERNAME e DB_PASSWORD, podem ser configuradas em um arquivo .env ou diretamente no servidor.

 

6. Próximos Passos

Agora que temos uma classe robusta para gerenciar a conexão com o banco de dados, vamos começar a interagir com o banco de dados diretamente, inserindo e manipulando dados. Na próxima aula, aprenderemos como realizar operações CRUD (Create, Read, Update, Delete) no banco de dados.

Tags:
#classe Database PHP  # conexão MySQL PHP  # mysqli PHP  # Programação Orientada a Objetos  # PHP OOP  # banco de dados PHP. 

Notícias Relacionadas

Aula 9: Por que Usar uma Classe para Gerenciar a Conexão?
  Contato
  • support@nerdtoolkit.com.br
Mapa do Site
Mostrar mapa do site
  Sobre

Feito de programadores para programadores.

Este site utiliza cookies. Ao continuar a utilizar este site, você concorda com a nossa utilização de cookies e política de privacidade.
Leia mais Concordo