Boa tarde, a minha dúvida é a seguinte, estou aplicando a orientação a objetos em meu projeto, porém estou em dúvida na hora do submit dos formularios:
Tenho os seguintes arquivos:
Arquivo novo-cliente.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/SistemaVrau-OO/constant.php";
require_once ROOT_PATH . "cabecalho.php";
require_once ROOT_PATH . "controller/ClienteController.php";
require_once ROOT_PATH . "logica-empresa.php";
verificaEmpresa();
?>
<div class="blocoTituloPagina">
<h1>Novo Cliente</h1>
</div>
<form action="controller/ClienteController.php" method="post" enctype="multipart/form-data">
<div>
<?php include("cliente-formulario-base.php"); ?>
<div class="pBlocoButton">
<a href="clientes.php" class="pButton">Voltar</a>
<button class="pButton pButtonSalvar" type="submit">Cadastrar</button>
</div>
</div>
</form>
<?php require_once('rodape.php'); ?>
Arquivo controller/ClienteController.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/SistemaVrau-OO/constant.php";
require_once ROOT_PATH . 'GenericUtil.php';
require_once ROOT_PATH . 'model/Cliente.php';
require_once ROOT_PATH . 'dao/GenericDAO.php';
class ClienteController {
public function salvar() {
$dao = new GenericDAO();
// logica para salvar cliente no banco
if(isset($_POST['id'])) {
$id = $_POST['id'];
}
$nome = $_POST["nome"];
$cnpj = $_POST["cnpj"];
$inscricaoEstadual = $_POST["inscricaoEstadual"];
$telefone = $_POST["telefone"];
$email = $_POST["email"];
$celular = $_POST["celular"];
$tipoPessoa = $_POST["tipoPessoa"];
$caminhoImg = "img/empresas/empresa-{$_SESSION['empresa_id']}/clientes/";
$imagem = uploadArquivo($caminhoImg);
$cliente = new Cliente();
$cliente->nome = $nome;
$cliente->cnpj = $cnpj;
$cliente->inscricao_estadual = $inscricaoEstadual;
$cliente->telefone = $telefone;
$cliente->email = $email;
$cliente->celular = $celular;
$cliente->tipo_pessoa = $tipoPessoa;
$cliente->imagem = $imagem;
if ($dao->inserir("clientes", $cliente)) {
echo "Salvo";
} else {
echo "Erro";
}
}
public function atualizar() {
// logica para atualizar cliente no banco
}
public function remover() {
// logica para remover cliente do banco
}
public function listar() {
$dao = new GenericDAO();
// logica para listar toodos os clientes do banco
$objListaClientes = $dao->listarAll("clientes");
$_REQUEST['clientes'] = $objListaClientes;
}
}
?>
Arquivo dao/GenericDAO.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/SistemaVrau-OO/constant.php";
require_once ROOT_PATH .'conexao.php';
class GenericDAO {
public function inserir($entidade, $dados) {
$Mensagem = "";
if (empty($dados)) {
switch($entidade) {
case "clientes":
$query = "INSERT INTO clientes (nome, cnpj, telefone, email, celular, tipo_pessoa, inscricao_estadual, imagem, empresa_id) VALUES ('" . $dados->nome . "', '" . $dados->cnpj . "', '" . $dados->telefone . "', '" . $dados->email . "', '" . $dados->celular . "', '" . $dados->tipo_pessoa . "', '" . $dados->inscricao_estadual . "', '" . $dados->imagem . "', {$_SESSION['empresa_id']})";
break;
}
try {
$conexao = Conexao::pegarConexao();
$conexao->exec($query);
return true;
} catch(Exception $e) {
return false;
}
}
Gostaria de saber como dar o submit do form direto na function salvar() do meu controller, caso não for possível, qual outra maneira posso salvar meu formulário ?