Post on 18-Nov-2014
description
PHP NÃO é coisa de moleque!
Felipe Ribeirohttp://feliperibeiro.comfelipernb@gmail.com
TextEnquanto .NET e Java brigam, fazendo
muito barulho...
PHP se mantém como a tecnologia número 1 da Web.
TextEles dizem que PHP “não aguenta o 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 Message { private String message;
public Message(String message) { this.message = message; }
public void print(Printer printer) { printer.print(this); }
public String toString() { return message; }}
abstract class AbstractPrinterFactory { public static AbstractPrinterFactory getFactory() { return new SystemOutPrinterFactory(); }
public abstract Printer getPrinter();}
class SystemOutPrinterFactory extends AbstractPrinterFactory {
public Printer getPrinter() { return new SystemOutPrinter(); }
}
class SystemOutPrinter implements Printer { public void print(Message message) {
System.out.println(message);
}
}
public class HelloWorld {
public static void main(String[] args) { Message message = new Message("Hello, World!"); AbstractPrinterFactory factory = AbstractPrinterFactory.getFactory(); Printer printer = factory.getPrinter(); message.print(printer); }
}
Hello W
orld em
JAVA!
e sua burocracia
http://flickr.com/photos/zach_manchester/2302683790/
Quem determina a qualidade do código é o programador!
Mito #2 - PHP só serve para sistemas pequenos
http://flickr.com/photos/memotions/259656126
Isso é .NET!
E a estabilidade caracterís
tica dos
produtos Microsoft
P.S.: O orkut foi reescrito em Java, mas esse shot é dos velhos tempos de .NET
PHP escala muito e de maneira muito simples!
OOPMito #3 - PHP não implementa OO “de verdade”
OOP
• PHP5 trouxe:
• Níveis de visibilidade
• Exceptions
• Interfaces
• Type hinting
• SPL - Standard PHP Library
OOP
• Frameworks MVC
• Zend Framework
• Symfony
• CakePHP
• Code Igniter
• Prado, etc...
Mito #4 - Existem poucas ferramentas para desenvolvimento em PHP
http://www.flickr.com/photos/mamabarns/747588843
Mito #5 - PHP não está pronto para aplicações “enterprise”
SOAP
XML
http://flickr.com/photos/willpate/63814657/
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
namespace Yahoo\News; class Dir { ... }
Definição Uso// diretamente $foo = new Yahoo\News\Dir;
// importando o namespace use Yahoo\News; $foo = new News\Dir;
// renomeando a classeuse Yahoo\News\Dir as YND; $foo = new YND;
PHP 5.3
•Lambdas e closures
$lambda = function () { echo "Hello World!\n"; }; $lambda();
PHP 5.3
•Lambdas e closuresfunction getSomador($x) { return function ($y) use ($x) { return $x + $y; }; } $somador = getSomador(10);
echo $somador(5); //15echo $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
http://www.flickr.com/photos/jaredchapman/482538719
Felipe Ribeirofelipernb@gmail.com
http://feliperibeiro.com
Referências
•PHP for Grown-upsAndrei Zmievski - http://gravitonic.com/talks
•Myths DefusedDerick Rethans - http://talks.php.net/show/myths-ffm2008
http://www.flickr.com/photos/nullalux/2261949240