SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
PHP Conference Brasil




                                       Dropline Fun Theme Wallpaper por Silvestre Herrera
PEAR, Peras e Cachorros




     Igor Feghali [ifeghali@php.net]
Quem sou eu ?

–   Graduando em Engenharia de Computação
    pela Universidade Federal do Espírito Santo




                                                  Dropline Fun Theme Wallpaper por Silvestre Herrera
    (UFES)
–   Participante do Google Summer of Code
    2006 e 2007 pela organização PHP
–   Autônomo no desenvolvimento de sistemas
    Web baseados em PHP
–   Desenvolvedor PEAR há um ano e meio e
    desenvolvedor do pacote MDB2_Schema
Introdução


Proponho apresentar com certo detalhe a comunidade




                                                       Dropline Fun Theme Wallpaper por Silvestre Herrera
 por trás do PEAR, sua filosofia, suas ferramentas e
 pacotes bem como exemplos de uso.

Serão demonstrados comandos típicos do instalador do
 PEAR, suas configurações, um exemplo e casos
 particulares de uso.

Tempo estimado: 1h 15m
Conteúdo


➔   Motivação




                                      Dropline Fun Theme Wallpaper por Silvestre Herrera
➔   O que é o PEAR ?
➔   O que o PEAR pode me oferecer ?
➔   Instalador do PEAR
➔   Instação a nível de usuário
➔   Exemplo
➔   Casos de Uso
Motivação




                                                         Dropline Fun Theme Wallpaper por Silvestre Herrera
http://www.phpbrasil.com/poll.php?cat=results&pol_id=6
O que é o PEAR ?


É o acrônimo para “PHP Extension and




                                               Dropline Fun Theme Wallpaper por Silvestre Herrera
 Application Repository”, apesar de não se
 tratar nem de extensões nem de aplicativos.
Foi fundado em 1999 por Stig Bakken. Em
 2003 foi criado o PEAR group para
 regulamentação interna, e também como
 forma de prevenir o abuso do poder pelo
 presidente.
Missão




                                              Dropline Fun Theme Wallpaper por Silvestre Herrera
Prover componentes reusáveis, liderar
 inovações no PHP, determinar as melhores
 práticas para desenvolvimento PHP e educar
 seus desenvolvedores.
Comunidade PEAR




Dropline Fun Theme Wallpaper por Silvestre Herrera
Comunidade PEAR




Dropline Fun Theme Wallpaper por Silvestre Herrera
O que o PEAR pode me oferecer ?

➔   Coleção de componentes PHP de alta
    qualidade (mais de 450 pacotes)




                                               Dropline Fun Theme Wallpaper por Silvestre Herrera
➔   Biblioteca estruturada de código 100% OS
    (PHP, Apache, BSD, LGPL)
➔   Sistema para distribuição de código e
    manutenção de pacotes
➔   Padronização na escrita de código PHP
➔   Website, listas de discussão e download
    mirrors
➔   PECL
Biblioteca Estruturada

Pacotes
➔ Time de Desenvolvimento




                                                      Dropline Fun Theme Wallpaper por Silvestre Herrera
➔ Versão

➔ Categoria

➔ Documentação

➔ Dependências




Dependências
➔ São explícitas

➔ Não necessariamente estão relacionadas ao nome do

  pacote
               http://pear.php.net/packages.php
Biblioteca Estruturada




Dropline Fun Theme Wallpaper por Silvestre Herrera
Distribuição de Código




                                  Dropline Fun Theme Wallpaper por Silvestre Herrera
Instalador do PEAR
➔ Servidor central

➔ Canais de terceiros

➔ Interface amigável e hardcore

➔ Protocolo HTTP

➔ Pacotes tarball

➔ package.xml
pearweb


➔   Informações sobre os pacotes




                                                                   Dropline Fun Theme Wallpaper por Silvestre Herrera
➔   Manual (para desenvolvedores e usuários)
➔   Suporte (tutorias, slides, ícones, listas de discussão etc.)
➔   Estatísticas
➔   Informações sobre os desenvolvedores
➔   Sistema de propostas
➔   Sistema de gerenciamento de bugs
➔   Praticamente tudo que você encontrar nessa
    apresentação

                         http://pear.php.net/
Sistema de gerenciamento de Bugs




                                                  Dropline Fun Theme Wallpaper por Silvestre Herrera
 ➔   Aviso de Bug
 ➔   Requisição de novas funcionalidades
 ➔   Patches


Não use as listas de discussão para isso !

                      http://pear.php.net/bugs/
Instalador do PEAR




                                                            Dropline Fun Theme Wallpaper por Silvestre Herrera
➔   Disponível para plataformas Unix, Linux, Window$, Mac
    OS. Me cobrem no iPhone ano que vem

➔   Diversas interfaces disponíveis:
     –   Console
     –   Web
     –   GTK
Instalador do PEAR


➔   Ambiente unificado de instalação para código PHP




                                                             Dropline Fun Theme Wallpaper por Silvestre Herrera
    (PEAR) e extensões em C (PECL*)
➔   Cria pacotes para o serem submetidos para o site do
    PEAR ou um canal de terceiros
➔   Checa dependências entre pacotes, versão do PHP e
    extensões instaladas
➔   Permite escolha do estado de desenvolvimento dos
    pacotes a serem instalados/atualizados (estável, beta,
    alfa, devel)

                       * http://pecl.php.net/
Como obter (Linux)


Vem com a fonte do PHP desde a versão 4.3.0




                                              Dropline Fun Theme Wallpaper por Silvestre Herrera
    Basta não compilar com o parâmetro
            --without-pear

  Assegure-se de ter o caminho do
  PEAR na diretiva include_path do
              php.ini
Como obter (Mac)




                                      Dropline Fun Theme Wallpaper por Silvestre Herrera
Mac OS 10.4 já vem com o PEAR 1.3.6
Como obter (Windows)




                                  Dropline Fun Theme Wallpaper por Silvestre Herrera
Se me permite dar um conselho:

troque de sistema operacional !
Para os aventureiros...




                                                                  Dropline Fun Theme Wallpaper por Silvestre Herrera
$ cvs -d :pserver:cvsread@cvs.php.net:/repository login
$ cvs -d :pserver:cvsread@cvs.php.net:/repository checkout pear




                      Senha: phpfi

             http://cvs.php.net/viewvc.cgi/pear-core/PEAR/
Prática 1




                             $ pear help




Dropline Fun Theme Wallpaper por Silvestre Herrera
Prática 2




                                            Dropline Fun Theme Wallpaper por Silvestre Herrera
$   pear version
$   pear config-show
$   pear config-set php_bin /usr/bin/php5
$   pear version
$   vi /usr/bin/pear
$   export PHP_PEAR_PHP_BIN=/usr/bin/php5
$   pear version
Atualizando a partir da versão 1.3


A partir da versão 1.4.0 muitas novidades




                                               Dropline Fun Theme Wallpaper por Silvestre Herrera
 foram implementadas mas, em contra partida,
 a compatibilidade com as versões anteriores
 foi quebrada.

Você precisará lançar mão de um truque para
 atualizar o PEAR a partir das versões mais
 antigas.
Atualizando a partir da versão 1.3




                                          Dropline Fun Theme Wallpaper por Silvestre Herrera
$ pear upgrade --force PEAR-1.3.6
   Archive_Tar-1.3.1 Console_Getopt-1.2
$ pear upgrade --force PEAR-1.4.11
$ pear upgrade -fa PEAR
Prática 3




                                   Dropline Fun Theme Wallpaper por Silvestre Herrera
$ pear config-create ~ ~/.pearrc
$ pear config-show
$ pear install pear
Exemplo




                             Tudo bem ... mas como eu uso isso ?




Dropline Fun Theme Wallpaper por Silvestre Herrera
Exemplo

require_once 'MDB2.php';




                                           Dropline Fun Theme Wallpaper por Silvestre Herrera
$options = array(
    'log_line_break' => '<br>',
    'idxname_format' => '%s',
    'debug' => true,
    'quote_identifier' => true,
    'force_defaults' => false,
    'portability' => false
);

$dsn = 'mysql://root:@localhost/DBname';
Exemplo




                             $mdb2 =& MDB2::factory($dsn, $options);




Dropline Fun Theme Wallpaper por Silvestre Herrera
Exemplo


if (PEAR::isError($mdb2)) {




                                      Dropline Fun Theme Wallpaper por Silvestre Herrera
    die($mdb2->getMessage());
}

$res =& $mdb2->query('SELECT * FROM
  clients');
if (PEAR::isError($res)) {
     die($res->getMessage());
}
Exemplo




                                      Dropline Fun Theme Wallpaper por Silvestre Herrera
while (($row = $res->fetchRow())) {
    echo $row[0] . quot;nquot;;
}

$mdb2->disconnect();
Casos de Uso




                                             Dropline Fun Theme Wallpaper por Silvestre Herrera
Pode me dar um exemplo de um aplicativo em
                produção ?
Casos de Uso




Dropline Fun Theme Wallpaper por Silvestre Herrera
Casos de Uso
     < user> I am wanting to make it so my PHP scripts can use email authentication and an article directed me to install this but I see
         no installation instructions: http://pear.php.net/package/Mail
     < user> How do I install it on my server?
     <@op1> # pear install Mail
     <@op1> if you dont have pear installed then take a look at the manual: http://pear.php.net/manual/en/installation.php
     < user> That mail thing is part of a bigger program called Pear?




                                                                                                                                           Dropline Fun Theme Wallpaper por Silvestre Herrera
     < user> If I don't understand a term, is there a place I can look it up?
     <@op1> like what ?
     < user> structured library for instance
     < user> I don't know what a repository, package, or sub package is either, unfortunately. Where do people learn this stuff?
     < user> I just know PHP, HTML, and MySQL
     <@op2> user: go read the docs
     < user> op2: I'm trying to read this one but the termonilogy is making it hard to understand
         http://pear.php.net/manual/en/introduction.php
     <@op2> user: you are using words like terminology and try to tell me you don't know what a repository is?
     ...
     <@op3> thanks for coming here user, you're handily proving my point about the PEAR installer needing to run without
         installation :)
     ...
     <@op2> op3: so, pear needs to be compatible to people who have yet to take computers 101?
     <@op2> hard to believe, sorry
     ...
     < user> I started late 2004
     < user> I have one of the largest dog simulation games on the internet
     <@op3> dog simulation??
     ...
     <@op3> is it me, or is this the most surreal conversation in the universe?
     <@op3> pears and dogs
* privacidade assegurada. Mensagens omitidas por simplicidade, mesmo onde não indicado
Casos de Uso




                             Hackeando um jogo online ...




Dropline Fun Theme Wallpaper por Silvestre Herrera
Fim




                                                           Dropline Fun Theme Wallpaper por Silvestre Herrera
                    ifeghali@php.net

                                   dúvidas



agradeço à minha amada Heloisa por seu apoio e dedicação

Contenu connexe

Similaire à PHP-PEAR, Peras e Cachorros

CakePHP para iniciantes
CakePHP para iniciantesCakePHP para iniciantes
CakePHP para iniciantesIgor Feghali
 
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaBancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaIgor Feghali
 
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaBancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaIgor Feghali
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes AuraPHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes AuraFlávio Lisboa
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrerMichele Silva
 
Hadoop - Primeiros passos
Hadoop - Primeiros passosHadoop - Primeiros passos
Hadoop - Primeiros passosSensedia
 
Mapeamento Objeto-Relacional com PEAR::DataObject
Mapeamento Objeto-Relacional com PEAR::DataObjectMapeamento Objeto-Relacional com PEAR::DataObject
Mapeamento Objeto-Relacional com PEAR::DataObjectManuel Lemos
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPguilhermemar
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Jonata Weber
 

Similaire à PHP-PEAR, Peras e Cachorros (20)

CakePHP para iniciantes
CakePHP para iniciantesCakePHP para iniciantes
CakePHP para iniciantes
 
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaBancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
 
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_SchemaBancos de dados portáveis em XML com PEAR::MDB2_Schema
Bancos de dados portáveis em XML com PEAR::MDB2_Schema
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes AuraPHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer
 
Hadoop - Primeiros passos
Hadoop - Primeiros passosHadoop - Primeiros passos
Hadoop - Primeiros passos
 
Mapeamento Objeto-Relacional com PEAR::DataObject
Mapeamento Objeto-Relacional com PEAR::DataObjectMapeamento Objeto-Relacional com PEAR::DataObject
Mapeamento Objeto-Relacional com PEAR::DataObject
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
A Revolução dos Middlewares
A Revolução dos MiddlewaresA Revolução dos Middlewares
A Revolução dos Middlewares
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHP
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 
Segurança PHP em 2016
Segurança PHP em 2016Segurança PHP em 2016
Segurança PHP em 2016
 

Plus 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
 

Plus 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-PEAR, Peras e Cachorros

  • 1. PHP Conference Brasil Dropline Fun Theme Wallpaper por Silvestre Herrera PEAR, Peras e Cachorros Igor Feghali [ifeghali@php.net]
  • 2. Quem sou eu ? – Graduando em Engenharia de Computação pela Universidade Federal do Espírito Santo Dropline Fun Theme Wallpaper por Silvestre Herrera (UFES) – Participante do Google Summer of Code 2006 e 2007 pela organização PHP – Autônomo no desenvolvimento de sistemas Web baseados em PHP – Desenvolvedor PEAR há um ano e meio e desenvolvedor do pacote MDB2_Schema
  • 3. Introdução Proponho apresentar com certo detalhe a comunidade Dropline Fun Theme Wallpaper por Silvestre Herrera por trás do PEAR, sua filosofia, suas ferramentas e pacotes bem como exemplos de uso. Serão demonstrados comandos típicos do instalador do PEAR, suas configurações, um exemplo e casos particulares de uso. Tempo estimado: 1h 15m
  • 4. Conteúdo ➔ Motivação Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ O que é o PEAR ? ➔ O que o PEAR pode me oferecer ? ➔ Instalador do PEAR ➔ Instação a nível de usuário ➔ Exemplo ➔ Casos de Uso
  • 5. Motivação Dropline Fun Theme Wallpaper por Silvestre Herrera http://www.phpbrasil.com/poll.php?cat=results&pol_id=6
  • 6. O que é o PEAR ? É o acrônimo para “PHP Extension and Dropline Fun Theme Wallpaper por Silvestre Herrera Application Repository”, apesar de não se tratar nem de extensões nem de aplicativos. Foi fundado em 1999 por Stig Bakken. Em 2003 foi criado o PEAR group para regulamentação interna, e também como forma de prevenir o abuso do poder pelo presidente.
  • 7. Missão Dropline Fun Theme Wallpaper por Silvestre Herrera Prover componentes reusáveis, liderar inovações no PHP, determinar as melhores práticas para desenvolvimento PHP e educar seus desenvolvedores.
  • 8. Comunidade PEAR Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 9. Comunidade PEAR Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 10. O que o PEAR pode me oferecer ? ➔ Coleção de componentes PHP de alta qualidade (mais de 450 pacotes) Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ Biblioteca estruturada de código 100% OS (PHP, Apache, BSD, LGPL) ➔ Sistema para distribuição de código e manutenção de pacotes ➔ Padronização na escrita de código PHP ➔ Website, listas de discussão e download mirrors ➔ PECL
  • 11. Biblioteca Estruturada Pacotes ➔ Time de Desenvolvimento Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ Versão ➔ Categoria ➔ Documentação ➔ Dependências Dependências ➔ São explícitas ➔ Não necessariamente estão relacionadas ao nome do pacote http://pear.php.net/packages.php
  • 12. Biblioteca Estruturada Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 13. Distribuição de Código Dropline Fun Theme Wallpaper por Silvestre Herrera Instalador do PEAR ➔ Servidor central ➔ Canais de terceiros ➔ Interface amigável e hardcore ➔ Protocolo HTTP ➔ Pacotes tarball ➔ package.xml
  • 14. pearweb ➔ Informações sobre os pacotes Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ Manual (para desenvolvedores e usuários) ➔ Suporte (tutorias, slides, ícones, listas de discussão etc.) ➔ Estatísticas ➔ Informações sobre os desenvolvedores ➔ Sistema de propostas ➔ Sistema de gerenciamento de bugs ➔ Praticamente tudo que você encontrar nessa apresentação http://pear.php.net/
  • 15. Sistema de gerenciamento de Bugs Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ Aviso de Bug ➔ Requisição de novas funcionalidades ➔ Patches Não use as listas de discussão para isso ! http://pear.php.net/bugs/
  • 16. Instalador do PEAR Dropline Fun Theme Wallpaper por Silvestre Herrera ➔ Disponível para plataformas Unix, Linux, Window$, Mac OS. Me cobrem no iPhone ano que vem ➔ Diversas interfaces disponíveis: – Console – Web – GTK
  • 17. Instalador do PEAR ➔ Ambiente unificado de instalação para código PHP Dropline Fun Theme Wallpaper por Silvestre Herrera (PEAR) e extensões em C (PECL*) ➔ Cria pacotes para o serem submetidos para o site do PEAR ou um canal de terceiros ➔ Checa dependências entre pacotes, versão do PHP e extensões instaladas ➔ Permite escolha do estado de desenvolvimento dos pacotes a serem instalados/atualizados (estável, beta, alfa, devel) * http://pecl.php.net/
  • 18. Como obter (Linux) Vem com a fonte do PHP desde a versão 4.3.0 Dropline Fun Theme Wallpaper por Silvestre Herrera Basta não compilar com o parâmetro --without-pear Assegure-se de ter o caminho do PEAR na diretiva include_path do php.ini
  • 19. Como obter (Mac) Dropline Fun Theme Wallpaper por Silvestre Herrera Mac OS 10.4 já vem com o PEAR 1.3.6
  • 20. Como obter (Windows) Dropline Fun Theme Wallpaper por Silvestre Herrera Se me permite dar um conselho: troque de sistema operacional !
  • 21. Para os aventureiros... Dropline Fun Theme Wallpaper por Silvestre Herrera $ cvs -d :pserver:cvsread@cvs.php.net:/repository login $ cvs -d :pserver:cvsread@cvs.php.net:/repository checkout pear Senha: phpfi http://cvs.php.net/viewvc.cgi/pear-core/PEAR/
  • 22. Prática 1 $ pear help Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 23. Prática 2 Dropline Fun Theme Wallpaper por Silvestre Herrera $ pear version $ pear config-show $ pear config-set php_bin /usr/bin/php5 $ pear version $ vi /usr/bin/pear $ export PHP_PEAR_PHP_BIN=/usr/bin/php5 $ pear version
  • 24. Atualizando a partir da versão 1.3 A partir da versão 1.4.0 muitas novidades Dropline Fun Theme Wallpaper por Silvestre Herrera foram implementadas mas, em contra partida, a compatibilidade com as versões anteriores foi quebrada. Você precisará lançar mão de um truque para atualizar o PEAR a partir das versões mais antigas.
  • 25. Atualizando a partir da versão 1.3 Dropline Fun Theme Wallpaper por Silvestre Herrera $ pear upgrade --force PEAR-1.3.6 Archive_Tar-1.3.1 Console_Getopt-1.2 $ pear upgrade --force PEAR-1.4.11 $ pear upgrade -fa PEAR
  • 26. Prática 3 Dropline Fun Theme Wallpaper por Silvestre Herrera $ pear config-create ~ ~/.pearrc $ pear config-show $ pear install pear
  • 27. Exemplo Tudo bem ... mas como eu uso isso ? Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 28. Exemplo require_once 'MDB2.php'; Dropline Fun Theme Wallpaper por Silvestre Herrera $options = array( 'log_line_break' => '<br>', 'idxname_format' => '%s', 'debug' => true, 'quote_identifier' => true, 'force_defaults' => false, 'portability' => false ); $dsn = 'mysql://root:@localhost/DBname';
  • 29. Exemplo $mdb2 =& MDB2::factory($dsn, $options); Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 30. Exemplo if (PEAR::isError($mdb2)) { Dropline Fun Theme Wallpaper por Silvestre Herrera die($mdb2->getMessage()); } $res =& $mdb2->query('SELECT * FROM clients'); if (PEAR::isError($res)) { die($res->getMessage()); }
  • 31. Exemplo Dropline Fun Theme Wallpaper por Silvestre Herrera while (($row = $res->fetchRow())) { echo $row[0] . quot;nquot;; } $mdb2->disconnect();
  • 32. Casos de Uso Dropline Fun Theme Wallpaper por Silvestre Herrera Pode me dar um exemplo de um aplicativo em produção ?
  • 33. Casos de Uso Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 34. Casos de Uso < user> I am wanting to make it so my PHP scripts can use email authentication and an article directed me to install this but I see no installation instructions: http://pear.php.net/package/Mail < user> How do I install it on my server? <@op1> # pear install Mail <@op1> if you dont have pear installed then take a look at the manual: http://pear.php.net/manual/en/installation.php < user> That mail thing is part of a bigger program called Pear? Dropline Fun Theme Wallpaper por Silvestre Herrera < user> If I don't understand a term, is there a place I can look it up? <@op1> like what ? < user> structured library for instance < user> I don't know what a repository, package, or sub package is either, unfortunately. Where do people learn this stuff? < user> I just know PHP, HTML, and MySQL <@op2> user: go read the docs < user> op2: I'm trying to read this one but the termonilogy is making it hard to understand http://pear.php.net/manual/en/introduction.php <@op2> user: you are using words like terminology and try to tell me you don't know what a repository is? ... <@op3> thanks for coming here user, you're handily proving my point about the PEAR installer needing to run without installation :) ... <@op2> op3: so, pear needs to be compatible to people who have yet to take computers 101? <@op2> hard to believe, sorry ... < user> I started late 2004 < user> I have one of the largest dog simulation games on the internet <@op3> dog simulation?? ... <@op3> is it me, or is this the most surreal conversation in the universe? <@op3> pears and dogs * privacidade assegurada. Mensagens omitidas por simplicidade, mesmo onde não indicado
  • 35. Casos de Uso Hackeando um jogo online ... Dropline Fun Theme Wallpaper por Silvestre Herrera
  • 36. Fim Dropline Fun Theme Wallpaper por Silvestre Herrera ifeghali@php.net dúvidas agradeço à minha amada Heloisa por seu apoio e dedicação