27
PHP Levado a Sério Dafiti Tech Conference 2014 22/02/2014 Evaldo Junior

Dafiti Tech Conference - PHP Levado a Sério

Embed Size (px)

DESCRIPTION

Palestra sobre a evolução do PHP como opção de linguagem para grandes aplicações web.

Citation preview

Page 1: Dafiti Tech Conference - PHP Levado a Sério

PHP Levado a SérioDafiti Tech Conference 2014

22/02/2014Evaldo Junior

Page 2: Dafiti Tech Conference - PHP Levado a Sério

Evaldo Junior

● Desenvolvedor na Dafiti● PHP ( > 6 anos )● GNU/Linux ( 10 anos )● Mozillian ( 1 ano )● VIM!● MBA Gestão de TI

Page 3: Dafiti Tech Conference - PHP Levado a Sério

PHP e MySQL (Casa do Código)

http://www.casadocodigo.com.br/products/livro-php-mysqlEVALDO10 (10%) e CDC150 (15% acima de R$ 150,00)

Page 4: Dafiti Tech Conference - PHP Levado a Sério

Agenda● Escolhas Enterprise● Histórico do PHP● Evolução do PHP● Ecosistemas PHP● Gestão de dependências● Gestão de qualidade● Ferramentas

○ Frameworks○ Microframeworks○ Componentes

● Comunidade● PHP Enterprise

Page 5: Dafiti Tech Conference - PHP Levado a Sério

Enterprise

● Escolhas óbvias○ Java○ .Net

● Ecossistemas● Ferramentas

Page 6: Dafiti Tech Conference - PHP Levado a Sério

Como o PHP é visto historicamente

● Rasmus Lerdorf● Comunitária

Page 7: Dafiti Tech Conference - PHP Levado a Sério

Evolução do PHP

● Evolução da comunidade● Evolução da linguagem

Page 8: Dafiti Tech Conference - PHP Levado a Sério

Ambiente padrão para PHP

● WAMP● LAMP● ???

Page 9: Dafiti Tech Conference - PHP Levado a Sério

PHP-FPM e Nginx

● Velocidade● APC

Page 10: Dafiti Tech Conference - PHP Levado a Sério

Facebook’s HHVM

● Compilado● Performance de C

Page 11: Dafiti Tech Conference - PHP Levado a Sério

Gerenciamento de dependências

Page 12: Dafiti Tech Conference - PHP Levado a Sério

Diretório “libs”...

● Copia e cola no projeto● Dificuldade em manter

Page 13: Dafiti Tech Conference - PHP Levado a Sério

PEAR

● Dependências no sistema● Problemas para manutenção

Page 14: Dafiti Tech Conference - PHP Levado a Sério

Composer

● Dependências por projeto● Manutenção centralizada

Page 15: Dafiti Tech Conference - PHP Levado a Sério

Qualidade (QA Tools)

Page 16: Dafiti Tech Conference - PHP Levado a Sério

Testes

● Unitários - PHPUnit● Comportamento - Behat● Integração

Page 17: Dafiti Tech Conference - PHP Levado a Sério

Qualidade de Código

● CodeStyle● Mess Detector● DRY (Don’t Repeat Yourself)

Page 18: Dafiti Tech Conference - PHP Levado a Sério

Alternativas - Dafiti Code Sheriff

● União e automação QA

Page 19: Dafiti Tech Conference - PHP Levado a Sério

Frameworks

Page 20: Dafiti Tech Conference - PHP Levado a Sério

Microframeworks

Page 21: Dafiti Tech Conference - PHP Levado a Sério

Componentes

● Guzzle (HTTP Client)● Aura Project

Page 22: Dafiti Tech Conference - PHP Levado a Sério

PHP 5.4+

● Segurança● Desempenho● Funcionalidades● PCI (Segurança - Cartões)

Page 23: Dafiti Tech Conference - PHP Levado a Sério

Comunidade

● PHP-FIG● PHP-SP● PHP Brasil

Page 24: Dafiti Tech Conference - PHP Levado a Sério

Enterprise

● SensioLabs - Symfony ( + €5M )● Facebook● Zend

Page 25: Dafiti Tech Conference - PHP Levado a Sério

DIY

● Faça você mesmo

Page 26: Dafiti Tech Conference - PHP Levado a Sério

Referências e links● PHP http://php.net● PHP-FIG http://www.php-fig.org/● NGINX http://nginx.org/● PHP-FPM http://php-fpm.org/● PHP APC http://php.net/apc● HHVM http://www.hhvm.com● PEAR http://pear.php.net/● Composer https://getcomposer.

org/● PHPUnit http://phpunit.de/● Behat http://behat.org/● PHP QA Tools http://phpqatools.

org/

● Dafiti Code Sheriff https://github.com/dafiti/cs

● Symfony http://symfony.com/● Zend Framework http:

//framework.zend.com/● Silex http://silex.sensiolabs.org/● Slim http://www.slimframework.

com/● Guzzle http://guzzlephp.org/● Aura http://auraphp.com/● PHP SP http://phpsp.org.br/

Page 27: Dafiti Tech Conference - PHP Levado a Sério

<?php

echo “Obrigado!”;

print_r(array( 'github' => 'InFog', 'twitter' => 'InFog9', 'email' => '[email protected]', 'blog' => 'evaldojunior.com.br'));