A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Componente 1.5 MVC - Frontend II

Seg

21

Jan

2008


14:25

(10 votos, média 5.00 de 5) 


No tutorial anterior vimos o essencial de um componente Joomla 1.5 MVC. Criamos o controlador e a vista (VC), mas ficou faltando o modelo (M). Neste tutorial vamos completar a tarefa.

Se você ainda se lembra dos scripts do tutorial "Componente 1.5 MVC - Frontend" então sabe que o Olá foi colocado no código da vista. Isto não está dentro dos padrões MVC porque a vista foi projetada apenas para MOSTRAR os dados, não para contê-los.

Agora será explicado como remover os dados da vista (aliás, era um dado só, a string "Olá pessoal!") e colocá-los no modelo.

Criando o modelo

O conceito de modelo recebe este nome porque esta classe deve representar (ou ser o 'modelo') de alguma entidade. No nosso caso, o primeiro modelo representará um 'olá' ou saudação.

A convenção de nomes para modelos no framework do Joomla é parecida com a para os nomes de vistas: o nome da classe deve começar com o nome dado ao controlador (geralmente o nome do componente), seguido por Model e pelo nome do modelo. Dando seqüência ao que já fizemos até agora, o nome da classe será OlaModelOla.

A nova estrutura de diretórios ficará assim:

components |
           |- com_ola |
                      |- ola.php
                      |- controlador.php
                      |- index.html
                      |- models |
                                | - ola.php
                                | - index.html
                      |- views |
                               |- index.html
                               | ola |
                                     | view.html.php
                                     |- index.html
                                     | tmpl |
                                            |- default.php
                                            |- index.html

Observe que, além do diretório models com seu arquivo ola.php, em cada um dos diretórios foi adicionado um arquivo index.html. Esta é uma boa prática para evitar que algum "abelhudo" liste seus diretórios. Você pode colocar qualquer coisa nestes arquivos, eu prefiro um arquivo vazio que mostra uma página em branco quando houver tentativas de acessar diretamente os diretórios.

Voltando à vaca fria...

Neste ponto, vamos apenas modelar um comportamento do nosso olá: obter a saudação. Para isto precisamos de apenas um método, chamado pegaOla( ). Este método não faz nada além de devolver a string "Olá pessoal!".

Aqui está o código do modelo ola.php:

Não vou mais repetir que a primeira linha é escrita por uma questão de segurança para evitar o acesso direto ao arquivo. A esta altura do campeonato todo mundo já está careca de saber, portanto, a partir deste ponto, a primeira linha linha do código será a segunda smile

Para começar, precisamos importar a classe JModel do framework para que possamos usá-la e ampliá-la. Então, dá-lhe o tradicional jimport.

Logo a seguir criamos a classe OlaModelOla ampliando JModel. Nela colocamos a função pegaOla( ), e isto é tudo.

Usando o modelo

O framework do Joomla foi projetado para fazer com que o controlador carregue o modelo que tiver o mesmo nome que a vista e o coloque dentro desta vista automaticamente. Como nossa vista se chama 'Ola', nosso modelo 'Ola' será carregado e colocado dentro da vista. Deste modo fica fácil obter uma referência do modelo usando o método JView::getModel( ).

O código original da vista tinha a linha

$falaOla = "Olá pessoal!";

Para acionar o modelo, esta linha precisa ser substituída por

$modelo =& $this->getModel(); $falaOla = $modelo->pegaOla();

Testando o novo componente

Como fizemos as alterações diretamente e ainda não instalamos o novo componente, a mancada continua sendo chamar o componente para teste com http://www.seusite.com.br/index.php?option=com_ola&view=ola. O resultado é o mesmo que obtivemos com o código anterior, só que agora podemos dizer que temos um componente MVC autêntico.

Finalmentes

Você acaba de ser promovido de diplomado em VC para doutor em MVC biggrin

Parabéns!

Índice da série de tutoriais Componente 1.5 MVC

  1. Componente 1.5 - Padrão MVCComponente 1.5 - Padrão MVC
  2. Componente 1.5 MVC - Frontend
  3. Componente 1.5 MVC - Frontend II
  4. Componente 1.5 MVC - A tabela
  5. Componente 1.5 MVC - Interface Admin
  6. Componente 1.5 MVC - Funcionalidade admin
  7. Componente 1.5 MVC - Funcionalidade admin II

Referência

Hello World MVC 2 Component - The model

mfx broker компаниясковорода с керамическим покрытием как выбратьалександр лобановский харьковbi qlikviewвидеокамераtravel tobroker mfx

Informações adicionais