Para a Aula 4 do seu curso de PHP puro, focada em Programação Orientada a Objetos (POO) com integração MySQL, sugiro abordarmos conceitos iniciais de POO aplicados a interações com bancos de dados. A aula pode ser estruturada da seguinte maneira:
- Classes e Objetos: O que são e como funcionam em PHP.
- Propriedades e Métodos: Como definir e utilizar.
- Encapsulamento: Uso de modificadores de acesso (
public
,private
,protected
). - Herança: Conceito de herança simples em PHP.
- Introdução à extensão PDO (PHP Data Objects): Por que usar PDO ao invés de
mysqli
. - Criando uma classe para gerenciar a conexão ao banco de dados:
class Database { private $host = "localhost"; private $db_name = "nome_do_banco"; private $username = "root"; private $password = ""; public $conn; public function getConnection() { $this->conn = null; try { $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); $this->conn->exec("set names utf8"); } catch(PDOException $exception) { echo "Erro de conexão: " . $exception->getMessage(); } return $this->conn; } }
- Explicar os conceitos de try-catch e manipulação de exceções.
- Definir uma classe para manipulação de dados (exemplo:
Usuario
). - CRUD com POO:
- Create (inserir dados):
class Usuario { private $conn; private $table_name = "usuarios"; public $id; public $nome; public $email; public function __construct($db) { $this->conn = $db; } public function criarUsuario() { $query = "INSERT INTO " . $this->table_name . " SET nome=:nome, email=:email"; $stmt = $this->conn->prepare($query); $this->nome = htmlspecialchars(strip_tags($this->nome)); $this->email = htmlspecialchars(strip_tags($this->email)); $stmt->bindParam(":nome", $this->nome); $stmt->bindParam(":email", $this->email); if ($stmt->execute()) { return true; } return false; } }
- Create (inserir dados):
- Criar um formulário simples em HTML que captura o nome e email do usuário.
- Enviar os dados via método POST para um script PHP que chama a classe
Usuario
e insere os dados no banco.
- Criar um formulário para inserir novos usuários no banco.
- Implementar uma funcionalidade de listagem de usuários cadastrados.
- Revisar o que foi aprendido.
- Introdução ao próximo tema: atualização de dados no banco e conceitos de Model-View-Controller (MVC) no PHP.
Essa aula vai preparar seus alunos para entenderem como a POO pode facilitar a integração e manipulação de banco de dados, dando uma base sólida para construir sistemas mais complexos no futuro.