SlideShare uma empresa Scribd logo
PHP NÃO é coisa de   Felipe Ribeiro
                     http://feliperibeiro.com
         moleque!    felipernb@gmail.com
Enquanto .NET e Java brigam, fazendo
                 Text
           muito barulho...
PHP se mantém como a tecnologia
       número 1 da Web.
Eles dizem que PHP “não aguenta o
                Text
tranco” e que “é coisa de moleque”
Mas por que PHP carrega essa má
             fama?
Por causa dos profissionais
     desqualificados...
dos mitos...
E pela falta de propaganda...
Esse cenário pode mudar, só depende
 da comunidade - que somos nós...
Qualificação de profissionais
•PHP é fácil de aprender e fácil de fazer porcaria

•Programadores Java precisam de uma formação mais
 sólida (orientação a objeto, padrões de projeto,
 eficiência de algoritmos, estruturas de dados, etc. e tal)

•BONS programadores PHP também precisam!!!
Marketing
•PHP não é da Sun nem da Microsoft...

•Mas é bancado por:

  •IBM

  •Oracle

  •Yahoo!

  •entre outros...
Marketing
•PHP está presente em mais de 25 milhões de sites

•Com tudo isso, pra que propaganda? A propaganda
 somos nós e tudo o que nós fazemos!
E que tal esclarecermos os mitos?
Mito #1 - Códigos PHP são sujos




                       http://flickr.com/photos/ripizzo/2310929170/
interface Printer {
   void print(Message message);
}
                                                          class SystemOutPrinter implements Printer {
class Message {
                                                              public void print(Message message) {
    private String message;
                                                                  System.out.println(message);
    public Message(String message) {
                                                              }
       this.message = message;
    }
                                                          }
    public void print(Printer printer) {
                                                          public class HelloWorld {
       printer.print(this);
    }
                                                             public static void main(String[] args) {
                                                                Message message = new Message("Hello,
    public String toString() {
                                                          World!");
       return message;
                                                                AbstractPrinterFactory factory =
    }
                                                          AbstractPrinterFactory.getFactory();
}


                                                                                              m
                                                                Printer printer = factory.getPrinter();



                                                                                             e
                                                                message.print(printer);
abstract class AbstractPrinterFactory {
                                                             }



                                                                      ld
    public static AbstractPrinterFactory getFactory() {


                                                                    r
                                                          }
       return new SystemOutPrinterFactory();


                                                                  o !
    }

    public abstract Printer getPrinter();
                                                                 W A acia
                                                               lo AV rocr
}

class SystemOutPrinterFactory extends

                                                            e l J u
                                                          H
AbstractPrinterFactory {

    public Printer getPrinter() {
                                                                   ab
    }
       return new SystemOutPrinter();
                                                                             e su
}
Quem determina a qualidade do código
        é o programador!




                      http://flickr.com/photos/zach_manchester/2302683790/
Mito #2 - PHP só serve para sistemas
             pequenos




                         http://flickr.com/photos/memotions/259656126
T!
                                                                                           E                 os

                                                                                 .N
                                                                                                       a   d
                                                                                                  ic
                                                                                            rí st
                                                                               é        c te oft


                                                               so
                                                                                      ra ros
                                                                                  e ca ic

                                                            Is
                                                                                ad os M
                                                                          b ilid ut
                                                                        ta rod
                                                                  a   es p
                                                              E
P.S.: O orkut foi reescrito em Java, mas esse shot é dos velhos tempos de .NET
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP escala muito e de maneira muito
             simples!
OOP
Mito #3 - PHP não implementa OO “de
              verdade”
• PHP5 trouxe:


  • Níveis de visibilidade




                   OOP
  • Exceptions


  • Interfaces


  • Type hinting


  • SPL - Standard PHP Library
• Frameworks MVC


  • Zend Framework




                    OOP
  • Symfony


  • CakePHP


  • Code Igniter


  • Prado, etc...
Mito #4 - Existem poucas ferramentas
   para desenvolvimento em PHP




                       http://www.flickr.com/photos/mamabarns/747588843
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
PHP não é coisa de moleque
Mito #5 - PHP não está pronto para
      aplicações “enterprise”
SOAP
PHP não é coisa de moleque
XML




      http://flickr.com/photos/willpate/63814657/
PHP não é coisa de moleque
REST




       http://flickr.com/photos/estherase/128983854/
http://flickr.com/photos/estherase/128983854/
E o que podemos esperar para o
            futuro?
PHP 5.3
•Namespaces

  Definição                          Uso
                         // diretamente
 namespace YahooNews;
                         $foo = new YahooNewsDir;
 class Dir {
     ...
                         // importando o namespace
 }
                         use YahooNews;
                         $foo = new NewsDir;

                         // renomeando a classe
                         use YahooNewsDir as YND;
                         $foo = new YND;
PHP 5.3
•Lambdas e closures


        $lambda = function () { 
            echo "Hello World!n";
        };
        $lambda();
PHP 5.3
•Lambdas e closures
      function getSomador($x) {
          return function ($y) use ($x) {
              return $x + $y;
          };
      }
      $somador = getSomador(10);

      echo $somador(5); //15
      echo $somador(32); //42
PHP 5.3
•PHAR - PHP Archive

•Garbage collection

•Late static binding

•Outros refatoramentos e correções de bug.
PHP 6 = PHP 5.3 + Unicode
http://www.flickr.com/photos/oberazzi/318947873
Felipe Ribeiro
 felipernb@gmail.com
http://feliperibeiro.com
 http://www.flickr.com/photos/jaredchapman/482538719
Referências
•PHP for Grown-ups
 Andrei Zmievski - http://gravitonic.com/talks

•Myths Defused
 Derick Rethans - http://talks.php.net/show/myths-
 ffm2008




                                       http://www.flickr.com/photos/nullalux/2261949240

Mais conteúdo relacionado

PDF
PHP não é coisa de moleque
PDF
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
PDF
Pged 01
PDF
Apostila da linguagem c
PDF
Formulários para Plone: um passeio pelo framework z3c.form
PDF
Introducao Google GO
PDF
Perl From Vi, Part I
PHP não é coisa de moleque
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
Pged 01
Apostila da linguagem c
Formulários para Plone: um passeio pelo framework z3c.form
Introducao Google GO
Perl From Vi, Part I

Mais procurados (14)

PDF
Compiladores 7
PDF
Compiladores 5
PDF
Compiladores 6
PDF
Estrutura de Dados - Ponteiros
PDF
Iteraveis e geradores em Python
PDF
Apresentação Linguagem C
PPTX
Linguagem C - Funções
PDF
Curso de Python e Django
ODP
Python para desenvolvedores - material apoio (parte I)
PDF
Aula09 traducaosin110
PDF
Python - Guia de bolso
PDF
Apostila c++
PPTX
2016/01/27 - Aprendendo a programar com Python
Compiladores 7
Compiladores 5
Compiladores 6
Estrutura de Dados - Ponteiros
Iteraveis e geradores em Python
Apresentação Linguagem C
Linguagem C - Funções
Curso de Python e Django
Python para desenvolvedores - material apoio (parte I)
Aula09 traducaosin110
Python - Guia de bolso
Apostila c++
2016/01/27 - Aprendendo a programar com Python
Anúncio

Destaque (16)

PDF
Introdução ao Framework CakePHP
PPT
Testes Automatizados No Cakephp
PPTX
Teoria do design da comunicação
PPT
Php FrameWARks - sem CakePHP
PDF
Turbinando seu workflow com cakePHP
PDF
PDF
Colaboração em Projetos FLOSS: CakePHP
PDF
Abstração do banco de dados com PHP Doctrine
PDF
Documentação CakePHP - Português Br
PPT
Cake Php
PDF
Doctrine2 Seminário PHP
KEY
Doctrine 2.0: A evolução da persistência em PHP
PPTX
PHP 7 - A Maioridade do PHP
PDF
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
PDF
PHP para Adultos: Clean Code e Object Calisthenics
ODP
Javascript para adultos
Introdução ao Framework CakePHP
Testes Automatizados No Cakephp
Teoria do design da comunicação
Php FrameWARks - sem CakePHP
Turbinando seu workflow com cakePHP
Colaboração em Projetos FLOSS: CakePHP
Abstração do banco de dados com PHP Doctrine
Documentação CakePHP - Português Br
Cake Php
Doctrine2 Seminário PHP
Doctrine 2.0: A evolução da persistência em PHP
PHP 7 - A Maioridade do PHP
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
PHP para Adultos: Clean Code e Object Calisthenics
Javascript para adultos
Anúncio

Semelhante a PHP não é coisa de moleque (20)

PPTX
Introdução à Linguagem C
PDF
Comandos de Controle de Programa em C
PPTX
Linguagem C - Controle de Programa
PPT
PDF
Introdução à Linguagem de Programação C
PDF
Sap – stablility and abstract principle
PDF
Apostila de-introdução-à-linguagem-c
PPTX
Introdução ao C#
PPTX
Aula 02 - Introdução a ALGORITMOS.pptx
PPT
Curso Completo de Linguagem de Programação C
PPTX
Aula 12 funcoes - Programação 1
PPT
Introdução a Linguagem C
PPT
Conceitos Fundamentais de Programacao
PDF
Apostila de-arduino
PPTX
Introdução à Programacao em Processing
PDF
Apostila c++ básico
PDF
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
PDF
Apostila c++ básico (1)
PPT
Aula5 introducao c
PPT
Aula5 introducao c
Introdução à Linguagem C
Comandos de Controle de Programa em C
Linguagem C - Controle de Programa
Introdução à Linguagem de Programação C
Sap – stablility and abstract principle
Apostila de-introdução-à-linguagem-c
Introdução ao C#
Aula 02 - Introdução a ALGORITMOS.pptx
Curso Completo de Linguagem de Programação C
Aula 12 funcoes - Programação 1
Introdução a Linguagem C
Conceitos Fundamentais de Programacao
Apostila de-arduino
Introdução à Programacao em Processing
Apostila c++ básico
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila c++ básico (1)
Aula5 introducao c
Aula5 introducao c

Último (11)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mecânico de Manutenção de Equipamentos.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Eng. Software - pontos essenciais para o início
Arquitetura de computadores - Memórias Secundárias
Viasol Energia Solar -Soluções para geração e economia de energia
Manejo integrado de pragas na cultura do algodão
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Utilizando code blockes por andre backes

PHP não é coisa de moleque

  • 1. PHP NÃO é coisa de Felipe Ribeiro http://feliperibeiro.com moleque! felipernb@gmail.com
  • 2. Enquanto .NET e Java brigam, fazendo Text muito barulho...
  • 3. PHP se mantém como a tecnologia número 1 da Web.
  • 4. Eles dizem que PHP “não aguenta o Text tranco” e que “é coisa de moleque”
  • 5. Mas por que PHP carrega essa má fama?
  • 6. Por causa dos profissionais desqualificados...
  • 8. E pela falta de propaganda...
  • 9. Esse cenário pode mudar, só depende da comunidade - que somos nós...
  • 10. Qualificação de profissionais •PHP é fácil de aprender e fácil de fazer porcaria •Programadores Java precisam de uma formação mais sólida (orientação a objeto, padrões de projeto, eficiência de algoritmos, estruturas de dados, etc. e tal) •BONS programadores PHP também precisam!!!
  • 11. Marketing •PHP não é da Sun nem da Microsoft... •Mas é bancado por: •IBM •Oracle •Yahoo! •entre outros...
  • 12. Marketing •PHP está presente em mais de 25 milhões de sites •Com tudo isso, pra que propaganda? A propaganda somos nós e tudo o que nós fazemos!
  • 13. E que tal esclarecermos os mitos?
  • 14. Mito #1 - Códigos PHP são sujos http://flickr.com/photos/ripizzo/2310929170/
  • 15. interface Printer { void print(Message message); } class SystemOutPrinter implements Printer { class Message { public void print(Message message) { private String message; System.out.println(message); public Message(String message) { } this.message = message; } } public void print(Printer printer) { public class HelloWorld { printer.print(this); } public static void main(String[] args) { Message message = new Message("Hello, public String toString() { World!"); return message; AbstractPrinterFactory factory = } AbstractPrinterFactory.getFactory(); } m Printer printer = factory.getPrinter(); e message.print(printer); abstract class AbstractPrinterFactory { } ld public static AbstractPrinterFactory getFactory() { r } return new SystemOutPrinterFactory(); o ! } public abstract Printer getPrinter(); W A acia lo AV rocr } class SystemOutPrinterFactory extends e l J u H AbstractPrinterFactory { public Printer getPrinter() { ab } return new SystemOutPrinter(); e su }
  • 16. Quem determina a qualidade do código é o programador! http://flickr.com/photos/zach_manchester/2302683790/
  • 17. Mito #2 - PHP só serve para sistemas pequenos http://flickr.com/photos/memotions/259656126
  • 18. T! E os .N a d ic rí st é c te oft so ra ros e ca ic Is ad os M b ilid ut ta rod a es p E P.S.: O orkut foi reescrito em Java, mas esse shot é dos velhos tempos de .NET
  • 26. PHP escala muito e de maneira muito simples!
  • 27. OOP Mito #3 - PHP não implementa OO “de verdade”
  • 28. • PHP5 trouxe: • Níveis de visibilidade OOP • Exceptions • Interfaces • Type hinting • SPL - Standard PHP Library
  • 29. • Frameworks MVC • Zend Framework OOP • Symfony • CakePHP • Code Igniter • Prado, etc...
  • 30. Mito #4 - Existem poucas ferramentas para desenvolvimento em PHP http://www.flickr.com/photos/mamabarns/747588843
  • 38. Mito #5 - PHP não está pronto para aplicações “enterprise”
  • 39. SOAP
  • 41. XML http://flickr.com/photos/willpate/63814657/
  • 43. REST http://flickr.com/photos/estherase/128983854/
  • 45. E o que podemos esperar para o futuro?
  • 46. PHP 5.3 •Namespaces Definição Uso // diretamente namespace YahooNews; $foo = new YahooNewsDir; class Dir {     ... // importando o namespace } use YahooNews; $foo = new NewsDir; // renomeando a classe use YahooNewsDir as YND; $foo = new YND;
  • 47. PHP 5.3 •Lambdas e closures $lambda = function () {  echo "Hello World!n"; }; $lambda();
  • 48. PHP 5.3 •Lambdas e closures function getSomador($x) {     return function ($y) use ($x) {         return $x + $y;     }; } $somador = getSomador(10); echo $somador(5); //15 echo $somador(32); //42
  • 49. PHP 5.3 •PHAR - PHP Archive •Garbage collection •Late static binding •Outros refatoramentos e correções de bug.
  • 50. PHP 6 = PHP 5.3 + Unicode
  • 52. Felipe Ribeiro felipernb@gmail.com http://feliperibeiro.com http://www.flickr.com/photos/jaredchapman/482538719
  • 53. Referências •PHP for Grown-ups Andrei Zmievski - http://gravitonic.com/talks •Myths Defused Derick Rethans - http://talks.php.net/show/myths- ffm2008 http://www.flickr.com/photos/nullalux/2261949240