PHP e componentes reutilizáveis

Preview:

DESCRIPTION

 

Citation preview

PHP e componentes reutilizáveisPHP e componentes reutilizáveis

Victor Requião(victorrequiao@gmail.com)

22

Como seguiremos...Como seguiremos...

Victor Requião

PHP e componentes reutilizáveis

• PHP• Componentes e reuso de software• PEAR• PHP Classes• Zend Framework• Xajax• Smarty• Referências

33

PHPPHP

Victor Requião

PHP e componentes reutilizáveis

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.

44

Componentes e reuso de softwareComponentes e reuso de software

Victor Requião

PHP e componentes reutilizáveis

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.

55

PEARPEAR

Victor Requião

PHP e componentes reutilizáveis

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.

66

PEARPEAR

Victor Requião

PHP e componentes reutilizáveis

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

77

Zend FrameworkZend Framework

Victor Requião

PHP e componentes reutilizáveis

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.

88

Zend FrameworkZend Framework

Victor Requião

PHP e componentes reutilizáveis

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

99

PHP ClassesPHP Classes

Victor Requião

PHP e componentes reutilizáveis

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.

1010

PHP e AjaxPHP e Ajax

Victor Requião

PHP e componentes reutilizáveis

Ajax e a troca de informações de forma “silenciosa” com o servidor.

1111

PHP e AjaxPHP e Ajax

Victor Requião

PHP e componentes reutilizáveis

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.

1212

SmartySmarty

Victor Requião

PHP e componentes reutilizáveis

Arquitetura MVC e a comunicação entre componentes de negócio e apresentação.

1313

SmartySmarty

Victor Requião

PHP e componentes reutilizáveis

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.

1414

ReferênciasReferências

Victor Requião

PHP e componentes reutilizáveis

PHP

• http://www.php.net

Zend Framework

• http://framework.zend.com

PEAR

• http://pear.php.net

Xajax

• http://www.xajaxproject.org

Smarty

• http://smarty.php.net

1515

Obrigado!Obrigado!

Victor Requião(victorrequiao@gmail.com)