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);
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