Alguém poderia me fornecer algum exemplo mais sólido de uma estrutura com os recursos descritos no título? Pois estou desenvolvendo um mini "framework" no meu tempo livre e gostaria de obter uma forma "correta" de como aplicar DAO ao MVC. Abaixo segue o código atual:
Controller
Código PHP:
<?php
namespace Main\Controller;
use Main\StartUp;
use Main\Model\Main as Model;
use Alpha\Template\Template;
class Main extends StartUp {
public function start ()
{
$model = new Model();
$template = new Template();
$template->title = "test";
$template->render("main\main\start");
}
public function __destruct ()
{
parent::__destruct();
}
public function __construct ()
{
parent::__construct();
}
}
Model
Código PHP:
<?php
namespace Main\Model;
use Main\Model\DAO\Main as DAO;
class Main extends DAO {
public function __destruct ()
{
parent::__destruct();
}
public function __construct ()
{
parent::__construct();
}
}
DAO
Código PHP:
<?php
namespace Main\Model\DAO;
use Alpha\Database\Database;
class Main extends Database {
public function delete ()
{
$pdo = $this->pdo;
$pdo->beginTranstaction();
try {
/*$stmt = "";
$pdo->prepare($stmt);
$pdo->bindParam(, , $this->bindType());
$pdo->execute();*/
$pdo->commit();
} catch (PDOException $Exception) {
$pdo->rollBack();
throw new PDOException($Exception->getMessage());
}
}
public function update ()
{
$pdo = $this->pdo;
$pdo->beginTranstaction();
try {
/*$stmt = "";
$pdo->prepare($stmt);
$pdo->bindParam(, , $this->bindType());
$pdo->execute();*/
$pdo->commit();
} catch (PDOException $Exception) {
$pdo->rollBack();
throw new PDOException($Exception->getMessage());
}
}
public function read ()
{
return array();
}
public function create ()
{
$pdo = $this->pdo;
$pdo->beginTranstaction();
try {
/*$stmt = "";
$pdo->prepare($stmt);
$pdo->bindParam(, , $this->bindType());
$pdo->execute();*/
$pdo->commit();
} catch (PDOException $Exception) {
$pdo->rollBack();
throw new PDOException($Exception->getMessage());
}
}
public function __destruct ()
{
parent::__destruct();
}
public function __construct ()
{
parent::__construct("sqlsrv:Server=192.168.1.3;Database=;", "sa", "", null);
}
}