Prado - Orientação a componentes em PHP [Artigo] - página 2
Criei este artigo devido a pouquíssima quantidade de informação em português e atualizada sobre esse que eu considero um dos melhores frameworks para PHP. O Prado é um framework que acelera e enriquece o desenvolvimento de aplicações WEB em PHP, baseado num modelo de componentes e eventos.
[ Hits: 16.025 ]
Por: Júlio Ferreira de Souza Neto em 29/01/2008
O Prado funciona assim: um projeto possui uma hierarquia de pastas e arquivos associados previamente definidos, a partir daí cada página web será dividida em dois arquivos diferentes, um arquivo .php com a funcionalidade da página e um arquivo de template .tpl ou .page com a aparência da página, sendo que o tpl é usado para inclusão - as chamadas Master Pages - que garantem o compartilhamento de layout.
Cada página será também uma classe onde seus componentes serão atributos dessa classe (Orientação a Objetos é um pré-requisito para usar o Prado). No template também não serão usados formulários HTML comuns, mas sim um conjunto de tags customizadas do Prado, isso não impede de serem utilizadas no template tags HTML comuns, mas essas não se ligarão ao código no arquivo .php. Essas tags fornecem propriedades que irão definir tanto sua aparência quanto as funções chamadas devido a algum evento do formulário.
A partir daqui é bom se ligar ao conceito de "postback", ou seja, as requisições da página são direcionadas para ela mesma, então ela executará um trecho de código e vai aparecer com as mudanças. Isso fica melhor através de exemplos. Se seu servidor estiver rodando, abra o browser e digite "localhost/FirstApplication". O conteúdo que aparece é o que se encontra no arquivo "FirstApplication/protected/pages/Home.page", veja que não existe .php, então essa é basicamente uma página que não faz nada, vamos adicionar funcionalidade à ela. Digite nesse arquivo o seguinte conteúdo (ou copie e cole, a escolha é sua):
<com:TTextBox ID="texto"/>
<com:TButton OnClick="clicado" Text="Clique Aqui"/><br>
<com:TLabel ID="label" Forecolor="red"/>
Crie agora o arquivo Home.php com o seguinte conteúdo:
class Home extends TPage{
function clicado(){
$this->label->Text = $this->texto->Text;
Vamos agora explicar o que cada objeto no exemplo significa:
A tag <com:TForm> é obrigatória, ela marca o início e o fim de um formulário do Prado, ela não precisa ter um ID específico, a não ser que você queira mexer com propriedades do formulário;
A tag <com:TTextBox> cria uma caixa de texto, damos uma ID para ela para que possamos acessar seu conteúdo no arquivo .php (a partir de agora se acostumem a chamar esse arquivo de code-behind);
A tag <com:TButton> cria um botão no formulário, nós não damos um nome à ele, mas associamos o evento "OnClick" à função "clicado" do code-behind;
A tag <com:TLabel> cria uma simples área de texto na página, no nosso exemplo demos um ID para ele e colocamos o valor "red" (vermelho) na Propriedade Foreground, isso fará com que a fonte do texto mostrado no Label seja vermelha.
Agora vamos ao code-behind, nesse arquivo nós definimos uma classe que herda de TPage, com o nome da página. E criamos a função "clicado" que apenas atribui o valor da textbox ao label, reparem na forma de acessar os componentes da página e suas propriedades, os componentes são objetos que podem ter seus atributos alterados via code-behind.
Bom, essa foi apenas uma breve introdução do que pode-se fazer com o Prado. Em breve poderei postar aqui mais ferramentas inclusas nesse ótimo framework. Esse também foi meu primeiro artigo para o VOL, portanto críticas construtivas serão muito bem-vindas.