O documento discute componentes reutilizáveis em PHP, incluindo o framework PEAR, o framework Zend, classes PHP e o template Smarty. Ele explica o que cada um faz e como promovem o desenvolvimento de software reutilizável e de alta qualidade em PHP.
Multi-core Parallelization in Clojure - a Case Study
PHP e componentes reutilizáveis
1. PHP e componentes reutilizáveis
Victor Requião
(victorrequiao@gmail.com)
2. PHP e componentes reutilizáveis
Como seguiremos...
• PHP
• Componentes e reuso de software
• PEAR
• PHP Classes
• Zend Framework
• Xajax
• Smarty
• Referências
Victor Requião
2
3. PHP e componentes reutilizáveis
PHP
PHP (PHP: Hypertext Preprocessor) é uma linguagem open-souce e
interpretada, originalmente projetada como uma maneira alto-nível de fornecer
dinamicidade para a Web (apesar de existir a versão PHP-GTK para ambiente
desktop).
Tendo sido escrita inicialmente como um conjunto de binários CGI em C, PHP
incorpora elementos de outras linguagens como Perl, C++ e Java.
Apartir da sua versão 5 (atual 5.2.1) se destacou ainda mais no cenário Web,
tendo em vista que foram adicionadas grandes melhorias no que diz respeito à
POO (Programação Orientada a Objetos). Chegando atualmente, segundo a
Zend Technologies, mais de 40% das aplicacões Web estarem rodando PHP.
Victor Requião
3
4. PHP e componentes reutilizáveis
Componentes e reuso de software
Para a obtenção de produtos de software com alta qualidade e que sejam
economicamente viáveis, faz-se extremamente necessário a adoção de um
conjunto sistemático de processos, técnicas e ferramentas.
Reutilizando partes bem especificadas, desenvolvidas e testadas, pode-se
construir software em menor tempo e com maior confiabilidade.
O Desenvolvimento Baseado em Componentes (DBC) surgiu como uma nova
perspectiva para o desenvolvimento de software, cujo objetivo é a fragmentação
de blocos monolíticos em componentes que interagem entre si.
Reduzindo, desta forma, a complexidade do desenvolvimento de sistemas, assim
como os seus custos, através da utilização de componentes que, em princípio,
seriam adequados para serem utilizados em outras aplicações.
Victor Requião
4
5. PHP e componentes reutilizáveis
PEAR
O PEAR (PHP Extension and Application Repository) é um framework e sistema
de distribuição para componentes PHP.
Os principais objetivos do PEAR são:
• Ser um repositório open-source de componentes orientados à objeto
reutilizáveis em PHP;
• Promover um sistema para distribuição de código e manutenção de pacotes;
• Estabelecer uma padrão para a codificação de componentes em PHP;
• Firmar um contato com a comunidade PHP/PEAR através de website, listas de
discussão e mirros para download.
Victor Requião
5
6. PHP e componentes reutilizáveis
PEAR
Dentre uma grande variedade de pacotes de componentes do PEAR, alguns se
destacam no desenvolvimento efetivo de aplicações Web:
• Caching
• Banco de dados
• Encriptação
• Eventos
• Logging
• Mail
• Validação
• Web Services
• XML
Victor Requião
6
7. PHP e componentes reutilizáveis
Zend Framework
O Zend Framework é um esforço da Zend Technologies em produzir um
framework open-source para o desenvolvimento de aplicações robustas em
PHP.
Existem como metas:
• Promover um repositório de componentes que sejam ativamente suportados
• Oferecer um sistema completo de desenvolvimento para aplicações Web
• Fazer uso de táticas avançadas quanto à programação em PHP
• Contribuir com o PHP Collaboration Project
(http://www.zend.com/php_collaboration_project), iniciativa open-source entre a
Zend Technologies e a comunidade quanto ao desenvolvimento de projetos
avançados em PHP 5.
Victor Requião
7
8. PHP e componentes reutilizáveis
Zend Framework
Pacotes de componentes presentes na versão 0.9.2:
• Autenticação e autorização (Zend_Acl, Zend_Authentication e Zend_Session)
• Infraestutura interna (Zend_Cache, Zend_Debug, etc)
• Documentação
• Internacionalização (Zend_Date, Zend_Translate)
• E-mail, formatos e busca (Zend_Json, Zend_Mail, Zend_Search_Lucene, etc)
• Model-View-Controller
• Web e Web Services
Victor Requião
8
9. PHP e componentes reutilizáveis
PHP Classes
Repositório de classes open-source desenvolvidas em PHP, mantido por uma
comunidade de usuários de diversos países.
O PHP Classes possue uma certa vantagem e desvantagem quanto ao PEAR:
Vantagem:
• Maior opção de componentes não existentes no PEAR, como por exemplo,
aqueles relacionados à Programação Orientada à Aspectos (AOP).
Desvantagem:
• Falta de garantia com relação à qualidade dos componentes e nem sempre há
uma compatibilidade entre eles.
Victor Requião
9
10. PHP e componentes reutilizáveis
PHP e Ajax
Ajax e a troca de informações de forma “silenciosa” com o servidor.
Victor Requião
10
11. PHP e componentes reutilizáveis
PHP e Ajax
Dentro dos inúmeros componentes Ajax existentes para PHP, um dos mais
fáceis e poderosos é o Xajax.
Permitindo uma camada de alto nível, onde aplicações simples ou mais robustas
possam rodar sem a necessidade de sobrecarregar o servidor com requisições
desnecessárias.
Xajax permite que seja feito um mapeamento de funções ou métodos de objetos
PHP em funções JavaScript, fazendo com que a aplicação as enxergue como se
estivessem localmente no lado do cliente.
Victor Requião
11
12. PHP e componentes reutilizáveis
Smarty
Arquitetura MVC e a comunicação entre componentes de negócio e apresentação.
Victor Requião
12
13. PHP e componentes reutilizáveis
Smarty
Smarty é um sistema de templates em PHP, responsável por separar a camada
de negócio da camada de apresentação através de arquitetura MVC (Model
View Controller).
Para isso é utilizado um sistema de tags que garante que a lógica de
apresentação possa ser manipulada por qualquer pessoa, sem que esta tenha
conhecimentos sobre o negócio da aplicação.
Desta maneira, evitam-se riscos acidentais que tendem a comprometer a
qualidade do processo de desenvolvimento de software.
Victor Requião
13