m_pdf.jpg" width=34 border=0>
PRADO
Um framework PHP para desenvolvimento de aplicações Web
No desenvolvimento de aplicações web, geralmente nos deparamos com um cenário muitas vezes repetitivo e cansativo, onde boa parte do tempo é utilizada com tarefas que fogem do objetivo da aplicação ou regra de negócio. Alguns exemplos que podemos citar são validações de formulários, verificações de quais usuários têm acesso a uma determinada página, atualizações dos valores de um formulário quando executamos um post nele mesmo, também conhecido como postback, e muitos outros.
Temos no PHP uma das linguagens para desenvolvimento web mais utilizadas do mundo, que tem como principais características facilidade de utilização e uma alta performance, e que recentemente passou a receber investimentos da IBM, reconhecendo assim o seu grande potencial. No entanto, essa linguagem vinha deixando a desejar com relação ao seu modo de programar, onde linguagens como Java e ASP, evoluíram com frameworks poderosos como o Struts e o ASP.NET, respectivamente, que tornam o processo de desenvolvimento para web mais produtivo, menos oneroso com relação a manutenções e baseando-se em design patterns.
Neste artigo apresentaremos o framework PRADO. Este permite o desenvolvimento de aplicações PHP de forma produtiva e eficiente.
Um pouco de história
Nos primórdios da programação web tínhamos os famosos cgi’s escritos em linguagens como C e Perl. Naquela época, toda página dinâmica teria que ser criada usando tags html embutidas dentro do código cgi. Isso trazia uma enorme dor de cabeça tanto para dar manutenção no código, como também para alterar o layout das páginas, tarefa quase que impossível para os designers da época (um exemplo da dificuldade que era realizar essa tarefa pode ser observado na Listagem 1).
Listagem 1. Script em perl que exibe um valor enviado por uma página utilizando o método GET.
print “Content-type: text/html\n\n”;
print “<html>\n”;
print “<head>\n”;
print “</head>\n”;
print “<body>\n”;
print “<center>\n”;
$p = $ENV{‘QUERY_STRING’};
($key,$value) = split(/=/,$p,2);
print “<h1>”,$value,”</h1>\n”;
print “</center>\n”;
print “</body>\n”;
print “</html>\n”;
Depois apareceram linguagens como asp e php, onde o código com a lógica dinâmica poderia ser embutido em páginas html. Dessa forma, criava-se um cenário inverso ao anterior, e que permitia uma maior facilidade para que os designers pudessem mexer mais facilmente no layout sem precisar conhecer detalhes da linguagem de programação utilizada (como pode ser observado na Listagem 2).
Listagem 2. Script em php que exibe um valor enviado por uma página utilizando o método GET.
<html>
<head>
</head>
<body>
<center>
<h1><? echo $parametro ?></h1>
</center>
</body>
</html>
Mesmo assim, programar para web ainda era um pouco árduo, principalmente quando se tratava da interatividade com o usuário e validação de formulários, onde muitas vezes era necessário manipular códigos javascripts e campos hiddens para gerar o resultado pretendido. Isso sem considerar o fato do protocolo HTTP ser stateless, onde não existe persistência de conexão, então sempre que for necessário manter os valores dos campos de um formulário entre requisições é preciso manipular campos hiddens ou variáveis de sessão.
A evolução
O PHP por possuir vários recursos com uma lista enorme de funções, com acesso aos mais diversos tipos de banco de dados e com uma sintaxe simples e de fácil aprendizagem, se tornou rapidamente uma das linguagens mais utilizadas para desenvolvimento de aplicações web, mas que sofre dos mesmos problemas apresentados anteriormente.
Muitas empresas criaram o seu próprio framework, que muitas vezes eram um conjunto de classes que agilizavam o desenvolvimento de aplicações, e que continham as funções mais usuais, realizando assim o conceito de reusabilidade.
A utilização de frameworks “públicos” traz consigo a preocupação em ser o mais completo possível para ser utilizado nos mais diversos tipos de aplicações, ter uma boa documentação para que qualquer um possa utilizá-lo, seguir padrões de projeto, além de ter uma comunidade de desenvolvedores espalhados pelo mundo, utilizando e trocando experiências. Muitos deles procuram separar fisicamente, em arquivos, o conteúdo HTML do código de programação, para que o designer possa lidar o máximo possível apenas com o HTML, e o desenvolvedor lidar o máximo possível apenas com a lógica de programação.
Tecnologias como Java e .NET implementaram conhecidos frameworks. Em Java podemos citar o Struts, WebWork, e Java Server Faces, e em .NET o ASP.NET que faz parte do .NET Framework.
Chamo a atenção aqui para o Java Server Faces da Sun e o ASP.NET da Microsoft. Estes utilizam o conceito de componentes e eventos, conceitos estes muitos conhecidos por quem desenvolve aplicações desktop, e que sabem o quanto é produtivo utilizar componentes e eventos para o desenvolvimento de aplicações, sem falar no fato de que o desenvolvedor pode criar seus próprios componentes e utilizá-lo facilmente em vários programas. Como veremos a seguir, o PRADO (um framework para o PHP) também se enquadra neste conceito.
PRADO
PRADO é um PHP 5 Framework baseado em componentes e eventos que torna o modelo de programação web em PHP muito semelhante ao ASP.NET da Microsoft.
Criado por Qiang Xue, o PRADO foi inicialmente inspirado no projeto Apache Tapestry. Durante seu projeto e implementação, o Borland Delphi e o ASP.NET tiveram um papel importante na definição do Framework.
Vejamos algumas características do PRADO:
· HTML separado do código php;
· Utilização do conceito de componentes, fornecendo um alto nível de reutilização;
· Contém vários componentes para validação de formulários;
· Utiliza o ADOdb como camada de abstração de banco de dados. As funções nativas do php também podem ser utilizadas;
· Suporte a Master Pages, que consiste na funcionalidade de herança visual, onde podemos criar uma página padrão, geralmente com cabeçalho, rodapé e menu, que será utilizada em todo o site, sendo mesclada às páginas que a herdarão;
· Suporte a temas e skins, que consistem em templates que permitem modificar o layout da aplicação dinamicamente;
· Suporte a módulos, que consistem em agrupar uma coleção de páginas que possuem objetivos em comuns. Exemplo: o módulo fornecedor seriam todas as páginas que cadastram e alteram informações dos fornecedores em uma aplicação;
· Arquivo xml que define a configuração da aplicação, módulos e componentes;
· Suporte a internacionalização e localização;
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.