Informática Numaboa - Tutoriais e Programação
Componente 1.5 - Padrão MVC
Dom 20 Jan 2008 22:13 |
- Detalhes
- Categoria: Joomla
- Atualização: Segunda, 02 Julho 2012 19:27
- Autor: vovó Vicki
- Acessos: 17797
A nova maneira de se criar componentes para o Joomla 1.5 é chamada de MVC. Veja o que é e como funciona neste quinto tutorial da série Componente 1.5.
Considerações iniciais
Tudo o que foi visto nos tutoriais anteriores não está perdido, só que, se continuássemos naquela linha, nunca iríamos conseguir que os botões da área administrativa funcionassem. Como não tem cabimento ficar completando URLs com '&task=add' ou '&task=edit', não nos resta outra alternativa senão a de nos rendermos ao novo MVC.
MVC vem de Modelo-Vista-Controlador (Model-View-Controller) e este será o assunto deste tutorial porque, antes de botar a mão na massa e partir para a programação, é bom conhecer este novo padrão.
O exemplo vai continuar sendo o componente "Olá Pessoal" (com_ola) com sua tabela de dados para guardar os mais diversos olás, só que tudo numa nova roupagem.
Introdução ao Modelo-Vista-Controlador
O MVC é uma estrutura padrão de software que pode ser usada para organizar o código de forma que a lógica de trabalho fique separada da apresentação dos dados. Até este ponto, não é muito diferente do que já vimos nos tutoriais anteriores.
Existem três partes principais num componente MVC. Estas são, obviamente, um modelo, uma vista e um controlador.
O modelo
O modelo é a parte do componente que encapsula os dados da aplicação. Na maioria das vezes vai fornecer rotinas para administrar e manipular dados. O modelo deve conter métodos para adicionar, eliminar e atualizar informações dos olás na base de dados. Também deve conter métodos para obter a lista de olás existentes. De modo geral, a técnica de acesso aos dados deve ser encapsulada no modelo. Desta forma, se uma aplicação for transferida de um sistema que usa banco de dados para um sistema que usa arquivos texto para guardar as informações, o único elemento que precisa ser alterado será o modelo - a vista e o controlador não precisam ser modificados.
A vista
A vista é a parte do componente usada para transformar e preparar os dados do modelo para que possam ser apresentados de alguma forma, geralmente numa página HTML. O controlador retira os dados do modelo e os entrega para a vista. Esta, por sua vez, alimenta templates com estes dados para que possam ser apresentados ao usuário. A vista não modifica os dados de nenhuma forma, apenas os apresenta.
O controlador
O controlador é responsável pelas respostas às ações dos usuários. No caso de uma aplicação web, uma ação de usuário (geralmente) é a solicitação de uma página. O controlador vai determinar qual solicitação foi feita e vai responder de acordo fazendo com que o modelo manipule os dados necessários para depois passá-los para a vista para que possam ser mostrados.
Considere o controlador como o jogador de meio de campo
Implementação MVC
O padrão MVC é implementado através de três classes:
- JModel para o modelo
- JView para a vista e
- JController para o controlador.
O "novo" componente "Olá Pessoal"
Nosso componente continuará sendo o com_ola e sua estrutura básica vai precisar de apenas cinco scripts:
- ola.php - o ponto de entrada para o componente.
- controller.php - o arquivo que contém nosso controlador base.
- views/ola/view.html.php - este arquivo aciona o controlador para obter os dados necessários do modelo e os coloca num template.
- views/ola/tmpl/default.php - este é o template para apresentar os dados.
- ola.xml - este é um arquivo XML que indica ao Joomla! como instalar o componente.