Canais iMasters

PHP

Construindo uma Arquitetura de Desenvolvimento em PHP 5 - Parte 04

Olá amigos. Nesta oportunidade falarei da SESSION FACADE.

A Session Facade tem um conjunto de métodos de negócio, responsável por acessar e atualizar dados. É um ponto de entrada único dos dados e funcionalidades. É uma camada de controle da lógica de negócio da aplicação. Construiremos os métodos inserirCliente e recuperarClientes.

IMPORTANTE: No caso só uma session façade para o sistema, no caso de muitas classe, esse session irá controlar toda a lógica delas, ou seja, toda a lógica de negócio do sistema será controlada pela façade.

Procedimento: Na pasta "siscliente" em negócio iremos criar o arquivo.

SessionFacade.class.php
SessionFacade.class.php
require_once("cliente/Cliente.class.php");
require_once("cliente/ClienteDAO.class.php");

class SessionFacade {

public $banco;

public function SessionFacade(BancodeDados $banco) {
$this->banco = $banco;
}

public function inserirCliente(Cliente $cliente) {

if($cliente->getNome() == NULL) {
throw new Exception("O NOME É UM CAMPO OBRIGATÓRIO");
}

if($cliente->getTelefone() == NULL) {
throw new Exception("O TELEFONE É UM CAMPO OBRIGATÓRIO");
}

if($cliente->getEndereco() == NULL) {
throw new Exception("O ENDEREÇO É UM CAMPO OBRIGATÓRIO");
}

$clienteDAO = new ClienteDAO();
$clienteDAO->setBancoDados($this->banco);

$clienteDAO->inserir($cliente);

}

public function recuperarClientes() {
$clienteDAO = new ClienteDAO();
$clienteDAO->setBancoDados($this->banco);

return $clienteDAO->recuperarTodos();
}

/* PARA OS MÉTODOS DE ALTERAR E EXCLUIR SEGUE O MESMO PROCEDIMENTO, PODENDO TAMBÉM SER FEITOS MÉTODOS PARA REALIZAR FUNÇÕES, EX: RECUPERARPORDATA, ETC. */

}

O método construtor recebe como parâmetro o banco de dados passado por referência, e o atribui a variável banco que será usada pelos métodos.

A validação dos dados eu faço com excessões que serão disparadas quando o dado não estiver de acordo com a regra.

Instancio o ClienteDAO, passo o banco por referência já conectado para o objeto usá-lo. Caso haja algum erro no ClienteDAO, lá é disparada uma excessão. É preciso dar um require_once das classes que serão usadas sempre.

Assim funciona a SessionFacade. Se houver mais classes, elas também são controladas nesta session. No próximo artigo veremos como funciona a chamada da façade e a passagem de parâmetros.

Abraço!


Comente também

4 Comentários

Luis Felipe S. Silva
Luis Felipe S. Silva

Ola, voce provavelmente deve conhecer MVC - Model View Controller. Meus conhecimentos sobre este molde de programação (MVC) deixam a desejar.
Li um artigo na internet, cujo não me recordo o link do mesmo, e vi, que este molde se assemelha muito a esta arquitetura de pastas e arquivos que voce propôs em seu artigo.
Bom, volto a enfatizar que sou iniciante ainda nesses padrões de programação, e gostaria de saber se houve um embasamento nas camadas do modelo MVC .
sem mais,
Filipe!

Rogério Alves
Rogério Alves

SIM, USO O PADRÃO MVC. MODEL - FACADE,DAO,ENTITY VIEW - PHP CONTROLLER - MANTER (ainda falarei). OK.

Luis Felipe S. Silva
Luis Felipe S. Silva

Aonde posso encontrar materiais falando a respeito !?

Rogério Alves
Rogério Alves

VC ENCONTRA MAIS EM SITES RELACIONADOS A JAVA. PORTALJAVA.COM E J2EEBRASIL.COM.BR

Qual a sua opinião?

Comentários considerados ofensivos serão moderados.
IBM

Parceiros

IBM
PagSeguro
Internet Innovation
Dialhost
HostNet
Tecla
KingHost
DotStore
Dinamize