Como não poderia ser diferente, vamos criar nosso "Olá Mundo"
utilizando este interessante framework.
Nós iremos precisar dos seguintes arquivos para esta tarefa:
olamundo.php |
a entrada principal para a aplicação |
olamundo/application.spec |
o arquivo de especificação da aplicação |
olamundo/HomePage.php |
o arquivo de classe da página |
olamundo/HomePage.tpl |
o arquivo de template da página |
Note, que o diretório olamundo pode ser protegido para acesso
por usuários finais porque ele contém informações sensíveis da aplicação.
No arquivo
olamundo.php, nós iremos iniciar uma aplicação, como mostrado abaixo:
<?php
require_once('framework/prado.php');
pradoGetApplication('olamundo/application.spec')->run();
?>
Toda aplicação PRADO dever ter um arquivo de entrada que
especifica a localização do arquivo de especificação da aplicação.
O application.spec é um arquivo XML que configura parâmetros
a nível de aplicação, muito parecido com o web.config do
ASP.NET. Para este exemplo, seu conteúdo será:
<?xml version="1.0" encoding="UTF-8"?>
<application ID="olamundo">
<request default="HomePage" />
<alias name="Pages" path="." />
<using namespace="System.Web.UI.WebControls" />
<using namespace="Pages" />
</application>
A diretiva <alias> define path aliases. O alias System é
definido internamente referenciando o diretório que contém com o
core code do framework. Você pode usar aliases para construir
namespaces. A diretiva <using> especifica o namespace usado
na inicialização da aplicação (você pode usar um namespace no código
chamando a função using() ).
O elemento request especifica a configuração para interpretar os dados
solicitados pelo usuário. O atributo default especifica a página que
será exibida se nenhuma página for explicitamente solicitada pelo usuário.
O arquivo HomePage.tpl é uma template de página para a HomePage.
Ele contém as seguintes linhas:
<html>
<head>
<title>Olá Mundo!</title>
</head>
<body>
<com:TForm ID="formulario">
Digite seu nome:
<com:TTextBox ID="txtNome" />
<com:TButton Text="Clique me" OnClick="clickMe" ID="btnOlamundo" /> <com:TLabel ID="lblOlamundo" /> </com:TForm>
</body>
</html>
Para quem conhece ASP.NET, este arquivo é muito familiar e fácil de entender. Observe as tags <com:objeto>, estas tags contém componentes do PRADO que serão renderizados como mostrado abaixo:
<com:TForm ID="formulario"> <form name="formulario" method="post" enctype="multipart/form-data" id="formulario">
<com:TTextBox ID="txtNome" /> <input id="txtNome" name="txtNome" type="text" value=""/>
<com:TLabel ID="lblOlamundo" /> <span id="lblOlamundo"/>
<com:TButton Text="Clique me" OnClick="clickMe" /> <input id="btnOlamundo" type="submit" name="btnOlamundo" value="Clique me"/>
Nós anexamos o método da página de nome clickMe para o evento OnClick do botão. Então quando o botão for clicado pelo usuário, o método clickMe será invocado automaticamente.
O arquivo HomePage.php contém o código que define a página HomePage, como mostrado abaixo:
<?php
class HomePage extends TPage
{
function clickMe($sender,$param)
{
$this->lblOlamundo->setText("Olá Mundo, ".$this->txtNome->Text."!");
}
}
?>
Perceba que o arquivo que vai processar os eventos do Template tem que
ter o mesmo nome exceto a extensão que dever ser .php. Acesse a aplicação
e digite um nome no textbox. O resultado podemos ver na figura abaixo:
O PRADO ainda possui vários recursos como viewstate, sessions, caching,
validação de formulários, autenticação e autorização. Além de tornar
possível a criação de componentes de forma simples e prática. Mas tudo
isso são assuntos para novos artigos.
Espero que tenham gostado!