Aldeia Numaboa

  • Increase font size
  • Default font size
  • Decrease font size
Home Informática Tutoriais e Programação Joomla Componente 1.5 MVC - A tabela

Componente 1.5 MVC - A tabela

Indique esta página Imprimir PDF
(8 votos, média 5.0 de 5)

Do que adianta ter um modelo se tivermos que colocar todos os dados no código? Muito pouco! O grande lance é fazer com que o modelo converse com tabelas do banco de dados. Este é o assunto deste tutorial, o terceiro da série Componente 1.5 MVC.

Obtendo dados

Nosso modelo, por enquanto, possui apenas um método: pegaOla( ). Este método é simplérrimo, só retorna uma string que consta do código.

Para que as coisas fiquem mais interessantes, vamos buscar uma saudação numa tabela do banco de dados. No tutorial Componente 1.5 - Tabela de Dados já vimos como podemos criar uma tabela e repetir o que já foi explicado seria uma perda de tempo. O negócio aqui é aprender a se comunicar tchau

O primeiro passo é obter a referência de um objeto base de dados. Como o Joomla usa a base de dados para as suas operações normais, quando nosso componente estiver sendo chamado já existe uma conexão à base de dados. Como sabemos disto, não vamos nos dar ao trabalho de criar uma nova conexão. A referência à conexão já existente pode ser obtida usando:

$db =& JFactory::getDBO();

JFactory é uma classe estática que é usada para obter referências de um montão de objetos do sistema, entre eles, o que estamos precisando no momento: o Objeto DataBase. Aliás, DBO vem daí mesmo, DataBase Object.

Como queremos uma REFERÊNCIA do objeto, o tradicional sinal = ganha um adicional e passa a ser =&. Cuidado com isto!

Tendo a referência do objeto, é bico buscar os dados que desejarmos. Fazemos isto em três etapas:

  1. Criamos uma query,
  2. Armazenamos a query no objeto database e depois
  3. Carregamos o resultado.

Chegou a hora de dar um trato no novo método pegaOla( ) do script /models/ola.php (o modelo do frontend):

function pegaOla()
{
   $db =& JFactory::getDBO();
 
   $query = 'SELECT mensagem FROM #__ola';
   $db->setQuery( $query );
   $saudacao = $db->loadResult();
 
   return $saudacao;
}

ola é o nome da tabela e mensagem é o campo que contém as saudações.

O método $db->loadResult( ) executa a query armazenada na base de dados e retorna o campo mensagem da primeira linha do resultado. Se a tabela tiver três registros e as mensagens forem "Bom te ver", "Boas Vindas!" e "Grande abraço", $saudação será igual a "Bom te ver", a primeira mensagem da lista.

Finalmentes

Sei que todo mundo está louco para instalar esta nova versão do componente Ola (pelo menos espero que estejam). Acontece que, para fazer um novo pacote de instalação ainda falta o backend (a parte administrativa). Sem ela, o instalador do Joomla não aceita o pacote como válido. Então, não nos resta outra coisa a não ser ler o próximo tutorial que trata exatamente deste assunto.

Vejo vocês no próximo tutorial. Até mais.

vovo Vicki vovó Vicki

Í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 table

Atualização Ter, 21.04.2009 21:24  

Na Aldeia

Há 113 visitantes online

3630 registros
0 hoje
14 nesta semana
4 neste mês

Boas vindas: flor

Estatística

Membros: 3639
Artigos: 1045
Links: 90
Leituras: 6680750

Login

Kanji da hora




Faça contato







Perguntar não ofende: Será que propaganda eleitoral antecipada também está prevista na Ficha Limpa? Note que não estou sendo tendenciosa, porque da propaganda antecipada só se salva a Marina... por enquanto.