Introdução

O PRADO é um framework de desenvolvimento de aplicações web em PHP5 que utiliza componentes e eventos em sua implementação e usa o padrão MVC, que separa lógica da apresentação. PRADO é uma sigla inglesa que significa Desenvolvimento Rápido de Aplicações em PHP, em inglês, PHP Rapid Application Development.

Uma de suas principais características é a realização de código, ou seja, o desenvolvimento utiliza não só o seu próprio código, mas também aproveita outros códigos escritos por membros de sua equipe ou mesmo disponíveis na internet, de forma rápida e fácil.

De acordo com o site responsável pela ferramenta, o framework é recomendado para o desenvolvimento de aplicações que requerem uma grande interatividade com o usuário. Pode ser usado para o desenvolvimento de simples sistemas de blog, complexos sistemas de gerenciamento de conteúdo (CMS - Content Management System), ou mesmo uma completa solução de e-commerce.

Características

  • Orientação a objetos e alta reutilização de código;
  • Programação orientada a eventos;
  • Apresentação separada da lógica;
  • Arquitetura modular configurável e adaptável;
  • Suporte completo a diversos bancos de dados;
  • Extensos componentes: controles de entrada HTML, validação, datagrid, wizard, etc;
  • Componentes dinâmicos integrados ao Ajax;
  • Suporte nativo a internacionalização (I18N) e localização (L10N);
  • Erros e exceções customizáveis;
  • Diversas formas de logs e debug;
  • Módulos caching genéricos e seletivos de saída;
  • Extensa plataforma de autenticação e autorização;
  • Módulos de segurança: prevenção de cross-site script (XSS), proteção de cokies, etc;
  • Utilização das normas XHTML na sua implementação;
  • Extensa documentação e suporte nos fóruns de discussão;

Configurações

A instalação do PRADO framework envolve basicamente o download e a extração dos arquivos para um diretório do servidor web. No site www.pradosoft.com http://www.pradosoft.com, podemos baixar uma versão estável ou uma versão alpha (em teste).

Para constatarmos que a instalação foi bem sucedida, basta acessarmos o nosso servidor como acessamos costumeiramente. Uma mensagem de confirmação em inglês de que tudo ocorreu bem deve ser apresentada no navegador. Ainda podemos acessar o nosso servidor do seguinte modo http://endereco-do-servidor/prado/demos/, para vermos as aplicações de demonstração construídas utilizando o PRADO.

Pasta diretório principal do PRADO

Figura 1: Pasta diretório principal do PRADO

Componentes

Os componentes do framework PRADO são inúmeros e de grande variedade, incluindo componentes dinâmicos que nos permitem uma melhor experiência com o usuário final. Serão citados os componentes e suas respectivas funções, sem abranger com profundidade suas propriedades e eventos.

Controles Padrões

  • TButton: Representa um botão de um site. Normalmente utilizado para acionar eventos do tipo postback.
  • TCaptcha: Mostra um CAPTCHA para ser utilizado para impedir que robôs spammers efetuem certas ações nos sites.
  • TCheckBox: Representa uma caixa de marcação (CheckBox). É utilizado para identificar uma escolha dentre várias opções oferecidas ao usuário.
  • TClientScript: Adiciona código JavaScript na página.
  • TClientScriptLoader: Carrega scripts externos e bibliotecas JavaScript.
  • TColorPicker: Representa uma caixa de diálogo com várias opções de cores a serem selecionadas pelo usuário.
  • TDatePicker: Representa uma caixa de diálogo com um mini calendário. Utilizado para que o usuário selecione uma data.
  • TConditional: Representa um conteúdo na página dependendo da expressão em PHP, que pode ser verdadeira ou falsa.
  • TExpression: Representa uma caixa de diálogo para envio de arquivos. Permite que os usuários enviem arquivos para o servidor.
  • THead: Representa o elemento <head> de uma página em HTML. É necessário nas páginas do PRADO, caso sejam utilizados temas.
  • THiddenField: Representa um campo oculto de uma página.
  • THTMLArea: Representa um Wysiwyg (Editor de textos) que permite que o usuário insira texto formatados em HTML com grande facilidade.
  • THyperLink: Representa um hyperlink no site.
  • TImage: Representa uma imagem de um site.
  • TImageButton: Representa um botão de clique com uma imagem em seu fundo.
  • TImageMap: Representa uma imagem com determinadas regiões clicáveis.
  • TInlineFrame: Representa o elemento <iframe> de uma página HTML.
  • TJavaScriptLogger: Representa um logger para coleta de informações dos scripts JavaScript.
  • TKeyboard: Representa um teclado virtual para inserção de textos e caracteres.
  • TLabel: Representa um label que pode ser customizado por vários atributos CSS.
  • TLinkButton: Representa um hyperlink que pode realizar eventos de postback.
  • TLiteral: Representa um texto estático sem qualquer tag HTML.
  • TMultiView: Representa um recipiente de controles Tview, sendo cada um desses um outro recipiente para outros controles. Apenas um TView é visível por vez.
  • TOutputCache: Ativa o cache de determinadas partes da página e poder diminuir consideravelmente o tempo de resposta.
  • TPager: Gerar um “paginador” que permite ao usuário escolher qual a página deseja exibir. É relacionado a um controle de dados.
  • TPanel: Representa um recipiente para outros controles. Corresponde à <div> do HTML.
  • TPlaceHolder: Reserva um espaço a um controle de template,
  • TRadioButton: Representa um botão do tipo seleção (Radiobutton). É utilizado para identificar uma única escolha dentre várias opções.
  • TSafeHTML: Exibe um certo conteúdo HTML, garantindo que não tenham códigos nocivos (como os XSS).
  • TSlider: Representa um controle deslizante (slider).
  • TStatements: Aceita expressões em PHP e exibe sua saída padrão.
  • TTable: Representa uma tabela em HTML. É utilizado em conjunto com os controles TTableRow e TTableCell.
  • TTabePanel: Representa um recipiente de vários TPanel incluindo abas para facilitar a navegação entre eles. Apenas o conteúdo de uma aba é exibido por vez.
  • TTextBox: Representa um campo de inserção de texto. Coleta textos de simples e múltiplas linhas ou senhas digitadas pelos usuários.
  • TTextHighlighter: Colore o conteúdo de um texto de acordo com a linguagem escolhida (syntax highlighter), como PHP, XML, etc. É utilizado para exibir um certo código na página e colorir seu conteúdo para fácil entendimento e visualização.
  • TWizard: Representa um conjunto de formulários com várias etapas para pegar as entradas dos usuários. Lembra as janelas de instalação de softwares.

Controles de Validação

  • TRequiredFieldValidator: Garante que um determinado campo seja preenchido pelo usuário.
  • TRegularExpressionValidator: Verifica se o valor digitado corresponde a um padrão pré-definidos (ex.: CPF, RG, CEP, etc).
  • TEmailAddressValidator: Verifica se o valor digitado corresponde a um e-mail válido.
  • TCompareValidator: Verifica se o valor digitado pelo usuário é igual a algum outro valor ou expressão pré-definida.
  • TDataTypeValidator: Verifica se o valor digitado corresponde a uma data.
  • TRangeValidator: Verifica se o valor digitado está dentro de um intervalo determinado.
  • TCustomValidator: Permite uma validação personalizada, podendo ser realizada tanto na própria máquina local quanto no servidor.

Controles de Listagem

  • TListBox: Representa uma lista com itens unicamente ou multiplamente selecionáveis.
  • TDropDownList: Exibe uma lista suspensa com vários itens a serem selecionados pelo usuário.
  • TCheckBoxList: Exibe uma lista de TCheckbox.
  • TRadioButtonList: Exibe uma lista de TRadioButton.
  • TBulleTedList: Exibe itens no formato de marcador (de tópicos).

Controles de Dados

  • TDataList: É utilizado para exibir ou modificar uma lista de dados.
  • TDataGrid: Exibe um formato tabular de dados com linhas e colunas.
  • TRepeater: Exibe uma lista de conteúdos definidos em um template.

Conclusão

Assim concluímos mais este artigo, onde tivemos como objetivo termos uma introdução teórica básica sobre o PRADO, um framework PHP5 e de seus principais componentes. Agradeço a todos pela atenção e espero que o tema aqui mostrado tenha sido de agrado e compreensão de todos os leitores.

Conheça também: