Olá pessoal. Já vimos no artigo passado a camada "arquitetura", onde criamos uma classe de manipulação de banco de dados (na arquitetura ficam as classes utilitárias comuns a todos os sitemas ex: BancoDeDados, Manipulação de Arquivos, E-mail, etc), que será usada pela nossa aplicação e para várias outras que vocês queiram fazer.
Estudo de Caso
Vamos pegar um caso MUITO simples para o entendimento de todos. Tenho um site e quero ter o cadastro de meus clientes para no futuro eu poder fazer propagandas, estatísticas, etc. Agora que já temos o nosso objetivo, vamos começar a pensar em objetos.
O mapeamento será o seguinte:
Quem tem atributos e realiza ações? Neste nosso caso é somente o Cliente. Então só teremos o objeto Cliente.
Uma classe é formada ou de atributos e/ou de ações,estados(métodos).
E quando estamos falando das funções do sistema estamos falando do NEGÓCIO do sistema. Estamos saindo da camada da Arquitetura e entrando na cadama Negocial.
Procedimento: Na pasta negocio crie uma pasta com o nome do sistema, no nosso caso é a pasta "siscliente" (sistema de cliente) e dentro dela a pasta "cliente" e dentro dessa pasta vamos criar a entidade (classe) Cliente.
Os atributos do cliente são: código, nome, telefone, email e endereco;
Cliente.class.php
class Cliente
{
private $codigo;
private $nome;
private $telefone;
private $email;
private $endereco;
public function setCodigo($codigo)
{
$this->codigo
= $codigo;
}
public function getCodigo()
{
return $this->codigo;
}
public function setNome($nome)
{
$this->nome
= $nome;
}
public function getNome()
{
return $this->nome;
}
public function setTelefone($telefone)
{
$this->telefone
= $telefone;
}
public function getTelefone()
{
return $this->telefone;
}
public function setEmail($email)
{
$this->email
= $email;
}
public function getEmail()
{
return $this->email;
}
public function setEndereco($endereco)
{
$this->endereco
= $endereco;
}
public function getEndereco()
{
return $this->endereco;
}
}
A diferença entre a Entidade e o Objeto DAO. A entidade somente conterá os atributos e os métodos de acesso a esses métodos.
O DAO conterá os métodos que realizam as ações (incluir,alterar,etc) da Entidade relacionada. Ou seja, para cada Objeto.class.php e esse objeto realiza operações existirá um ObjetoDAO.class.php.
O Data Access Object (DAO) significa "Objeto de acesso ao Banco", ou seja todas as operações que necessitarem manter alguma informação com o banco de dados será essa classe que fará a manipulação.
No próximo artigo veremos a aplicação do objeto DAO.
Abraço.












1 Comentário
Qual a sua opinião?