How would Padrão MVC
be in this case?
Well, I have a class Tipos
, a class TiposDao
and a formulário
php to register a type.
This class Tipos
would be Model
.
This class TiposDao
would be Controller
.
But what would be View
of this Class?
Would it be the form itself?
Or would the php file list the available types?
Follow the classes:
Class Types:
<?php
class Tipos{
private $idTipos;
private $nome;
public function __construct($_nome)
{
$this->nome = $_nome;
}
public function setidTipos($_idTipos) {
$this->idTipos = $_idTipos;
}
public function getidTipos () {
return $this->idTipos;
}
public function getNome () {
return $this->nome;
}
}
?>
TypesDao class:
<?php
class TiposDao {
private $conexao;
public function __construct ($_conexao) {
$this->conexao = $_conexao;
}
public function excluir ($idTipo) {
$string = "DELETE FROM tipos WHERE idTipos = ".$idTipo;
$this->conexao->query($string);
}
public function cadastrar ($tipo) {
$string = "INSERT INTO tipos (nome) VALUES ('".$tipo->getNome()."')";
$this->conexao->query($string);
}
public function ultimoIdCadastrado () {
return $this->conexao->insert_id;
}
public function editar ($tipo) {
$string = "UPDATE tipos
SET
nome = '".$tipo->getNome()."'
WHERE
idTipos = ".$tipo->getidTipos();
$this->conexao->query($string);
}
public function pesquisaTipoNome($nome) {
$tipo = null;
$string = "SELECT idTipos, nome
FROM tipos
WHERE nome= '".$nome."'";
$registros = $this->conexao->query($string);
$quantasLinhas = $registros->num_rows;
if ($quantasLinhas > 0)
{
list ($idTipos, $nome) = $registros->fetch_row();
$tipo = new tipos($nome);
$tipo->setidTipos($idTipos);
}
return $tipo;
}
public function pesquisaTipoId($idTipo) {
$tipo = null;
$string = "SELECT idTipos, nome
FROM tipos
WHERE idTipos = ".$idTipo;
$registros = $this->conexao->query($string);
$quantasLinhas = $registros->num_rows;
if ($quantasLinhas > 0)
{
list ($idTipos, $nome) = $registros->fetch_row();
$tipo = new Tipos($nome);
$tipo->setidTipos($idTipos);
}
return $tipo;
}
public function pesquisaNomeTipo($idTipo) {
$tipo = null;
$string = "SELECT nome
FROM tipos
WHERE idTipos = ".$idTipo;
$registros = $this->conexao->query($string);
$quantasLinhas = $registros->num_rows;
if ($quantasLinhas > 0)
{
list ($nome) = $registros->fetch_row();
$tipo = $nome;
}
return $tipo;
}
public function pesquisaTipos() {
$tipos = null;
$string = "SELECT idTipos, nome FROM tipos";
$registros = $this->conexao->query($string);
$quantasLinhas = $registros->num_rows;
if ($quantasLinhas > 0) {
while (list ($idTipos, $nome) = $registros->fetch_row()) {
$tipo = new Tipos($nome);
$tipo->setidTipos($idTipos);
$tipos[] = $tipo;
}
}
return $tipos;
}
}
?>
File cadastraTipos.php
<?php
require_once "../_controlls/_daos/AdminsDao.php";
require_once "../_controlls/_models/Tipos.php";
require_once "../_controlls/_daos/TiposDao.php";
$AdminsDao = new AdminsDao($conexao);
$TiposDao = new TiposDao($conexao);
if(isset($_GET["acao"]) && $_GET["acao"] == "form") {
?>
<h1 class="h1Centralizado">Cadastrar Tipo</h1>
<div style="width:500px">
<form action="?" method="post">
<input type="hidden" name="acao" value="cadastrar" /> <br />
<label class="labelPequeno">Nome</label><input type="text" class="typeTextMedio" maxlength="200" id="nome" name="nome" required /> <br /> <br />
<input type="submit" value="Cadastrar Tipo" /><br /> <br />
</form>
</div>
<?php
}
if (isset($_POST["acao"]) && $_POST["acao"] == "cadastrar") {
$nome = $_POST["nome"];
if( $nome == "" ) {
echo "<h1 class='h1CentralizadoAvisos'>Algum campo ficou sem preecher!</h1>";
echo "<br />";
echo "<div style='text-align:center'><a href='javascript:history.go(-1)'><img src='_img/voltar.png' title='Voltar' /></a><br /><br />";
}
else
{
$tipo = new Tipos($nome);
$TiposDao->cadastrar($tipo);
echo "<h1 class='h1Centralizado'>Cadastro feito com sucesso!</h1>";
echo "<br />";
echo "<div style='text-align:center'><a href='javascript:history.go(-1)'><img src='_img/voltar.png' title='Voltar' /></a><br /><br />";
$connection->fechaConexao();
}
}
?>