The connection part is ready:
<?php
/*
* O padrão Singleton
*/
abstract class Conexao {
const USER = "root";
const PASS = "";
private static $instance = null;
private static function conectar() {
try { ##Tenta conectar ao banco se não funcionar cai no catch
if (self::$instance == null): ##se não existir conexão com PDO receber a new PDO() | a conexão
$dsn = "mysql:host=localhost;dbname=phpoo";
self::$instance = new PDO($dsn, self::USER, self::PASS);
endif;
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage(); #
}
return self::$instance; ## se ja exixtir uma conexão ele retorna a conexão
}
protected static function getDB() {
return self::conectar();
}
}
create an Abstrata.php class (do the Generic CRUD here) with:
<?php
abstract class Abstrata extends Conexao {
protected function listar($where) {
//implemente aqui seu código padrão para fazer update
$db = parent::getDB();
}
protected function alterar($id, $data) {
//implemente aqui seu código padrão para fazer update
$db = parent::getDB();
}
protected function deletar($id) {
//implemente aqui seu código padrão para fazer delete
$db = parent::getDB();
}
protected function cadastrar($data) {
//implemente aqui seu código padrão para fazer insert
$db = parent::getDB();
//outros códigos
}
}
And I just called external methods for the other classes. Is it any way to implement this?