SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
II Encontro do PHP-PB

    Desafio dos 15 minutos

    07/03/2009
Desafio dos 15 minutos

    Garoto de Programa

    Estou tentando ganhar um elefantinho
Desafio dos 15 minutos

    Como ganhar do esquilinho?
Rodando PHP em um container Java

           QUERCUS
O que é o Quercus?

    Quercus é uma tecnologia da Caucho
    rápida, código-aberto, implementação
    100% Java da linguagem PHP
Preciso de quê?

    Um container Java
       Glassfish *
       Tomcat


    Baixar a última versão da biblioteca
O que realmente importa?

    WEB-INF/lib/quercus.jar
    WEB-INF/lib/resin-util.jar
    WEB-INF/lib/javamail-141.jar
    WEB-INF/web.xml
No arquivo web.xml – Parte 1 de 2
<!-- início: habilitando o quercus //-->
<servlet>
  <servlet-name>Quercus Servlet</servlet-name>
  <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
  <!-- para habilitar o banco de dados
  <init-param>
    <param-name>database</param-name>
    <param-value>java:comp/env/jdbc/BASEMAPEADAJNDI</param-value>
  </init-param>
  -->
</servlet>
<servlet-mapping>
    <servlet-name>Quercus Servlet</servlet-name>
    <url-pattern>*.php</url-pattern>
</servlet-mapping>
<!-- final: habilitando o quercus //-->
...
No arquivo web.xml – Parte 2 de 2
...
<welcome-file-list>
  <welcome-file>index.php</welcome-file>
</welcome-file-list>
<!-- início: referência à origem dos dados //-->
<!--
<resource-ref>
    <res-ref-name>jdbc/MINHABASE</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
-->
<!-- final: referência à origem dos dados //-->
Agora já posso fazer meu projeto...

    MEUPROJETO.WAR/
       - WEB-INF
         - lib: quercus.jar, resin-util.jar,
                javamail-141.jar
         - web.xml
       - index.php
Do arquivo index.php...
<?php
 phpinfo();
?>


 ... minha saída é
O pulo do elefantinho...
Importando classes Java no PHP
Classe QueroUmElefantinho.java

       package info.netinho.desafio;

       public class QueroUmElefantinho {

        private String queroumelefantinho;

        public QueroUmElefantinho() {
         this.queroumelefantinho = quot;Quero um elefantinho!quot;;
        }

        public String get() {
         return this.queroumelefantinho;
        }

        public static String getEstatico() {
         return quot;Quero um elefantinho!quot;;
        }

       }
Arquivo quero.php

       <?php
       import info.netinho.desafio.QueroUmElefantinho;

       $quero = new QueroUmElefantinho();
       echo $quero->get();
       ?>



Arquivo quero-estatico.php

       <?php
       $quero = java_class(“info.netinho.desafio.QueroUmElefantinho”);
       echo $quero->getEstatico();
       ?>
E a saída...


                Quero um
               elefantinho!
Referências

    Quercus - http://quercus.caucho.com/
    Glassfish - http://www.glassfish.org/
    NetBeans - http://www.netbeans.org/


Outras referências

    HeidiSQL - http://www.heidisql.com/
Muito Obrigado!




             http://netinho.info/

Mais conteúdo relacionado

Mais procurados

Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage apiSuissa
 
Migrando de Shell para Ruby script
Migrando de Shell para Ruby scriptMigrando de Shell para Ruby script
Migrando de Shell para Ruby scripts4nx
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Fabrízio Mello
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaHenrique Gogó
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxThiago Paes
 

Mais procurados (9)

Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage api
 
Migrando de Shell para Ruby script
Migrando de Shell para Ruby scriptMigrando de Shell para Ruby script
Migrando de Shell para Ruby script
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
REST-fuuuu
REST-fuuuuREST-fuuuu
REST-fuuuu
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 

Semelhante a Rodando PHP em um container Java

Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxThiago Paes
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojscodebits
 
Project HA
Project HAProject HA
Project HAKarpv
 
Golang para desenvolvedores pragmáticos parte 2
Golang para desenvolvedores pragmáticos  parte 2Golang para desenvolvedores pragmáticos  parte 2
Golang para desenvolvedores pragmáticos parte 2Wilson Júnior
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaJonata Weber
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 

Semelhante a Rodando PHP em um container Java (20)

Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Sapo Sessions PHP
Sapo Sessions PHPSapo Sessions PHP
Sapo Sessions PHP
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojs
 
Project HA
Project HAProject HA
Project HA
 
Golang para desenvolvedores pragmáticos parte 2
Golang para desenvolvedores pragmáticos  parte 2Golang para desenvolvedores pragmáticos  parte 2
Golang para desenvolvedores pragmáticos parte 2
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
 
Plack
PlackPlack
Plack
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aula
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Php
PhpPhp
Php
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 

Rodando PHP em um container Java

  • 1. II Encontro do PHP-PB Desafio dos 15 minutos 07/03/2009
  • 2. Desafio dos 15 minutos Garoto de Programa Estou tentando ganhar um elefantinho
  • 3. Desafio dos 15 minutos Como ganhar do esquilinho?
  • 4. Rodando PHP em um container Java QUERCUS
  • 5. O que é o Quercus? Quercus é uma tecnologia da Caucho rápida, código-aberto, implementação 100% Java da linguagem PHP
  • 6. Preciso de quê? Um container Java Glassfish * Tomcat Baixar a última versão da biblioteca
  • 7. O que realmente importa? WEB-INF/lib/quercus.jar WEB-INF/lib/resin-util.jar WEB-INF/lib/javamail-141.jar WEB-INF/web.xml
  • 8. No arquivo web.xml – Parte 1 de 2 <!-- início: habilitando o quercus //--> <servlet> <servlet-name>Quercus Servlet</servlet-name> <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class> <!-- para habilitar o banco de dados <init-param> <param-name>database</param-name> <param-value>java:comp/env/jdbc/BASEMAPEADAJNDI</param-value> </init-param> --> </servlet> <servlet-mapping> <servlet-name>Quercus Servlet</servlet-name> <url-pattern>*.php</url-pattern> </servlet-mapping> <!-- final: habilitando o quercus //--> ...
  • 9. No arquivo web.xml – Parte 2 de 2 ... <welcome-file-list> <welcome-file>index.php</welcome-file> </welcome-file-list> <!-- início: referência à origem dos dados //--> <!-- <resource-ref> <res-ref-name>jdbc/MINHABASE</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> --> <!-- final: referência à origem dos dados //-->
  • 10. Agora já posso fazer meu projeto... MEUPROJETO.WAR/ - WEB-INF - lib: quercus.jar, resin-util.jar, javamail-141.jar - web.xml - index.php
  • 11. Do arquivo index.php... <?php phpinfo(); ?> ... minha saída é
  • 12. O pulo do elefantinho...
  • 14. Classe QueroUmElefantinho.java package info.netinho.desafio; public class QueroUmElefantinho { private String queroumelefantinho; public QueroUmElefantinho() { this.queroumelefantinho = quot;Quero um elefantinho!quot;; } public String get() { return this.queroumelefantinho; } public static String getEstatico() { return quot;Quero um elefantinho!quot;; } }
  • 15. Arquivo quero.php <?php import info.netinho.desafio.QueroUmElefantinho; $quero = new QueroUmElefantinho(); echo $quero->get(); ?> Arquivo quero-estatico.php <?php $quero = java_class(“info.netinho.desafio.QueroUmElefantinho”); echo $quero->getEstatico(); ?>
  • 16. E a saída... Quero um elefantinho!
  • 17. Referências Quercus - http://quercus.caucho.com/ Glassfish - http://www.glassfish.org/ NetBeans - http://www.netbeans.org/ Outras referências HeidiSQL - http://www.heidisql.com/
  • 18. Muito Obrigado! http://netinho.info/