[CodeIgniter] Definição de Controller, Modelo (novamente)
Gilson
gilson.wolfart em gmail.com
Quinta Dezembro 6 11:35:57 BRST 2007
Oi Luciano.
Como eu disse em um post na outra thread, estou no meu primeiro
projeto com o CodeIgniter e esta também é o meu primeiro contato com a
arquitetura MVC. Tudo que sei de MVC até o momento foi retirado do
manual do próprio CodeIgniter, de onde eu transcrevo:
"O Model representa suas estruturas de dados. Tipicamente, suas
classes model irão conter funções que lhe ajudarão a buscar, inserir e
substituir informações em sua bando de dados.."
(...)
"O Controller serve como um intermediário entre o Model, a View, e
qualquer outro recurso necessário para processar a requisição HTTP e
gerar a página web."
(http://www.codeigniter.com.br/manual/overview/mvc.html)
Mais adiante, em
http://www.codeigniter.com.br/manual/general/models.html, lemos:
"Models são classes PHP projetadas para trabalhar a informação em seu
banco de dados. Por exemplo, digamos que você use o Code Igniter para
gerenciar um blog. Você poderia ter uma classe model contendo funções
para inserir, atualizar e buscar seus dados do banco."
E embaixo um exemplo de um model somente com funções de acesso a banco
de dados. Os exemplos são simples e posso ter entendido errado, mas
para mim está claro que regras de negócio ficam no controller. O
model só se responsabiliza pelo acesso à base de dados e retorna o
resultado para o controller, que o processa.
Vou dar uma lida mais tarde no link que você passou para tentar
esclarecer melhor minhas idéias.
Abraços,
Gilson
Em 06/12/07, Luciano Soares<lussterl em gmail.com> escreveu:
> Osdeni está errado sim. Pelo menos até onde meus conhecimentos e estudos
> alcançam.
>
> Na outra thread que estamos falando disso eu passei mais informações.
>
> Mas acho essa uma discussão boa pra todo o pessoal.
>
> Continuamos pela outra thread ou por essa?
>
> Vou mandar aqui o conteúdo de novo.
>
> Essa assunto sobre regras de negócio e MVC já foi discutido pelo pessoal do
> grupo da lista php que participo há um tempo.
>
> Estou procurando aqui o link pra thread.
>
> Mas achei ese conteúdo aqui.
>
>
> "A arquitetura MVC - (Modelo Visualização Controle) fornece uma maneira de
> dividir a funcionalidade envolvida na manutenção e apresentação dos dados de
> uma aplicação. A arquitetura MVC não é nova e foi originalmente desenvolvida
> para mapear as tarefas tradicionais de entrada , processamento e saída para
> o modelo de interação com o usuário. Usando o padrão MVC fica fácil mapear
> esses conceitos no domínio de aplicações Web multicamadas.
>
> Na arquitetura MVC o modelo representa os dados da aplicação e as regras do
> negócio que governam o acesso e a modificação dos dados. O modelo mantém o
> estado persistente do negócio e fornece ao controlador a capacidade de
> acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo.
>
> Um componente de visualização renderiza o conteúdo de uma parte particular
> do modelo e encaminha para o controlador as ações do usuário; acessa também
> os dados do modelo via controlador e define como esses dados devem ser
> apresentados.
>
> Um controlador define o comportamento da aplicação , é ele que interpreta as
> ações do usuário e as mapeia para chamadas do modelo. Em um cliente de
> aplicações Web essas ações do usuário poderiam ser cliques de botões ou
> seleções de menus. As ações realizadas pelo modelo incluem ativar processos
> de negócio ou alterar o estado do modelo. Com base na ação do usuário e no
> resultado do processamento do modelo , o controlador seleciona uma
> visualização a ser exibida como parte da resposta a solicitação do usuário.
> Há normalmente um controlador para cada conjunto de funcionalidades
> relacionadas."http://www.macoratti.net/vbn_mvc.htm
>
> Então, o modelo seria responsável por representar e persistir os dados além
> das regas de negócio.
>
> A visão renderiza o conteúdo e encaminha as ações para o contralador.
>
> O controlador é o responsável por toda a interconexão das acções com os
> dados.
>
>
>
>
> Em 06/12/07, Osdeni José Sadzinski < osdeni em gmail.com> escreveu:
> >
> > No Controller ficam as regras de negócio (if elses, direções, validações
> entre outros, e chamadas de models)
> > Ja no modelo ficam as persistências dos dados (sqls)
> >
> > Estou errado?
> >
> > --
> > Atenciosamente,
> >
> > Osdeni José Sadzinski
> > E-mail: osdeni em gmail.com
> > MSN: osdeni em hotmail.com
> > _______________________________________________
> > Lista mailing list
> > Lista em codeigniter.com.br
> >
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
> _______________________________________________
> Lista mailing list
> Lista em codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
Mais detalhes sobre a lista de discussão Lista