SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
PHP e componentes reutilizáveis
                Victor Requião
         (victorrequiao@gmail.com)
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
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
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
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
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
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
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
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
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
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
PHP e componentes reutilizáveis




                                              Smarty




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


 Victor Requião
                                                                                                 12
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
PHP e componentes reutilizáveis




                                  Referências
  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


 Victor Requião
                                                14
Obrigado!
       Victor Requião
(victorrequiao@gmail.com)




                            15

Weitere ähnliche Inhalte

Was ist angesagt?

Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
Sidney Roberto
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
elliando dias
 

Was ist angesagt? (20)

Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Introduction to Python - Training for Kids
Introduction to Python - Training for KidsIntroduction to Python - Training for Kids
Introduction to Python - Training for Kids
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Algoritmos - Matrizes
Algoritmos - MatrizesAlgoritmos - Matrizes
Algoritmos - Matrizes
 
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
c# keywords, identifiers and Naming Conventions
c# keywords, identifiers and Naming Conventionsc# keywords, identifiers and Naming Conventions
c# keywords, identifiers and Naming Conventions
 
Structs em C
Structs em CStructs em C
Structs em C
 
Basic c programming and explanation PPT1
Basic c programming and explanation PPT1Basic c programming and explanation PPT1
Basic c programming and explanation PPT1
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Apostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em CApostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em C
 
Engenharia semiotica
Engenharia semioticaEngenharia semiotica
Engenharia semiotica
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Técnica de estudo - técnicas de esquema
Técnica de estudo - técnicas de esquema Técnica de estudo - técnicas de esquema
Técnica de estudo - técnicas de esquema
 

Ähnlich wie PHP e componentes reutilizáveis

CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
elliando dias
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
Targettrust
 

Ähnlich wie PHP e componentes reutilizáveis (20)

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Code Igniter & Zend Framework Uma UniãO De Sucesso
Code Igniter & Zend Framework   Uma UniãO De SucessoCode Igniter & Zend Framework   Uma UniãO De Sucesso
Code Igniter & Zend Framework Uma UniãO De Sucesso
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Code Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucessoCode Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucesso
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
WP Composer
WP ComposerWP Composer
WP Composer
 
Cake Php
Cake PhpCake Php
Cake Php
 
Manual PHP
Manual PHPManual PHP
Manual PHP
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 

Mehr von elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

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
  • 14. PHP e componentes reutilizáveis Referências 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 Victor Requião 14
  • 15. Obrigado! Victor Requião (victorrequiao@gmail.com) 15