PHP

PDO-DAO em PHP

PDO é uma classe desenvolvida especificamente para trabalhar com procedimentos relacionados a banco de dados. Permite a abstração de qual banco utilizamos e a segurança extra que essa classe oferece. Já o DAO (Data Access Objects) fornece uma API genérica para acessar dados em diferentes tipo de banco de dados. Neste post veja PDO-DAO em PHP.

Com isso, é 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); 
DESEJA APRIMORAR SEUS CONHECIMENTOS EM PHP ORIENTADO A OBJETOS?

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.

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:

Link do curso: https://go.hotmart.com/A18082772K

PDO-DAO-SELECT-INSERT-UPDATE-DELETE-LIST em PHP

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *