Imaginei a seguinte arquitetura para minha aplicação MVC : Gostaria da opinião dos senhores sobre a aplicação do padrão DAO e Service, se foge muito disso ou não etc ...
Chamada com reescrita de URL : http://localhost/minha_app_legal/aluno/matricular/Joaozinho
-- index.php
$db = new MySQLDatabase();
$controller = new Controller();
$controller->matricular( $nome, $db );
-- Controller.php
class Controller {
public function matricular( $nome, $db ) {
AlunoService->matricular($nome, $db);
return Tela->exibir();
}
}
-- MySQLDatabase.php
class Database {
public function query($query) {
$db->query($query);
}
}
class MySQLDatabase extends Database {
public __construct () {
// criar banco com as especificações do MySQL ....
}
}
-- AlunoDAO.php
class AlunoDAO {
public function existe($nome, $database) {
return $database->query(' SELECT count(*) FROM Aluno WHERE nome ="' . $ nome . '" ');
}
public function matricular($nome, $database) {
$database->query(' INSERT INTO Aluno ("nome") VALUES ("' . $ nome . '") ');
}
}
-- AlunoService.php
class AlunoService {
public function matricular($nome, $database) {
if ( !AlunoDAO->existe($nome, $database) ) {
AlunoDAO->matricular($nome, $database) ;
}
}
}