Se você está desenvolvendo aplicações em PHP que interagem com bancos de dados, provavelmente já ouviu falar sobre PDO (PHP Data Objects) e DAO (Data Access Object). Mas o que exatamente são esses conceitos e como eles podem ajudar no seu desenvolvimento? Vamos explorar PDO-DAO em PHP!
O que é PDO?
PDO é uma extensão do PHP que fornece uma interface consistente para acessar bancos de dados. Ele permite que você execute consultas SQL de forma segura e eficiente, independentemente do tipo de banco de dados (MySQL, PostgreSQL, SQLite, etc.). A principal vantagem do PDO é sua capacidade de prevenir SQL Injection, uma das vulnerabilidades mais comuns em aplicações web.
Características do PDO:
- Interface unificada: Um único conjunto de funções para diferentes bancos de dados;
- Suporte a prepared statements: Permite executar consultas de forma segura e eficiente;
- Flexibilidade: Você pode facilmente mudar de um banco de dados para outro sem alterar o código da aplicação.
O que é DAO?
DAO é um padrão de design que fornece uma abstração entre a lógica de negócios da sua aplicação e a lógica de acesso a dados. A ideia principal do DAO é separar a manipulação dos dados da lógica do aplicativo, tornando o código mais organizado, testável e fácil de manter.
Características do DAO:
- Abstração: Separa a lógica de acesso a dados da lógica de negócio;
- Encapsulamento: Facilita a mudança de implementação de armazenamento de dados sem afetar a lógica do aplicativo.
Como usar o PDO-DAO em PHP
É possível alterar o sistema de banco de dados sem a necessidade de alterar o código que utiliza DAO para fazer o acesso:
Arquivo sql.php:
class Sql extends PDO {
private $conn;
//Método construtor para que, quando a classe for instanciada, a conexão seja feita automaticamente
public function __construct() {
//Faz a conexão
$this->conn = new PDO("mysql:host=localhost;dbname=nomedb", "root", "");
}
//Função para associar os parâmetros (bind) ao comando prepare
private function setParams($statment, $parameters = array()) {
foreach ($parameters as $key => $value) {
$this->setParam($key, $value);
}
}
//Método para fazer o bind de um parâmetro apenas
private function setParam($statment, $key, $value) {
$statment->bindParam($key, $value);
}
/* Função para executar os comandos SQL
($rawQuery: comando SQL; $params: dados que serão recebidos e armazenados em um array */
public function query($rawQuery, $params = array()) {
//Statement que prepara o comando
$stmt = $this->conn->prepare($rawQuery);
//Associa os parâmetros ao comando prepare
$this->setParams($stmt, $params);
$stmt->execute();
return $stmt;
}
public function select($rawQuery, $params = array()):array {
$stmt = $this->query($rawQuery, $params);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
Arquivo config.php:
spl_autoload_register(function($class_name){
$filename = $class_name.".php";
if(file_exists(($filename))){
require_once($filename);
}
});
Arquivo index.php:
require_once("config.php");
$sql = new Sql();
$usuarios = $sql->select("SELECT * FROM tb_usuarios");
echo json_encode($usuarios);
Integrar PDO e DAO em suas aplicações PHP traz benefícios significativos em termos de segurança, organização e manutenção. Ao seguir as boas práticas de design, você pode construir aplicações mais robustas e fáceis de gerenciar. Se você ainda não utiliza esse padrão, agora é o momento ideal para começar!
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Dúvidas ou sugestões sobre PDO-DAO em PHP? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários