SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
DevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityDevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityKevin Fealey
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidJanynne Gomes
 
Open source software 101: Compliance and risk management
Open source software 101: Compliance and risk managementOpen source software 101: Compliance and risk management
Open source software 101: Compliance and risk managementOsler, Hoskin & Harcourt LLP
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Joao Galdino Mello de Souza
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...Edureka!
 
Basic WordPress Workshop Presentation
Basic WordPress Workshop PresentationBasic WordPress Workshop Presentation
Basic WordPress Workshop PresentationFelix Albutra
 
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008laonap166
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)Nanhi Sinha
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução Elaine Cecília Gatto
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 

Mais procurados (17)

Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
DevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityDevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just Security
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Open source software 101: Compliance and risk management
Open source software 101: Compliance and risk managementOpen source software 101: Compliance and risk management
Open source software 101: Compliance and risk management
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
 
Basic WordPress Workshop Presentation
Basic WordPress Workshop PresentationBasic WordPress Workshop Presentation
Basic WordPress Workshop Presentation
 
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 

Semelhante a PHP e componentes reutilizáveis

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 2011Flávio Lisboa
 
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...BrunoSouza617
 
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 SucessoJose Wilker
 
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 CoreVanessa Valle
 
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 ZendThiago Sinésio
 
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 sucessoJose Wilker
 
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 boloelliando dias
 
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 FrameworkFlávio Lisboa
 
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 FrameworkFlávio Lisboa
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3Fabrício Basto
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdfRubenManhia
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDomingos Teruel
 
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çadoTargettrust
 
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 PHPFlávio Lisboa
 
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 SoftwareDextra
 

Semelhante a 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
 

Mais de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando 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 ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando 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 Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando 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 Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando 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 Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando 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 Facebookelliando 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 Studyelliando dias
 

Mais de 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
 

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