Deixando de ser moleque
       com PHP
         @krolow
Vinícius Krolow?
Trabalho com PHP desde 2005, fuçador desde
2002...

Atualmente Head do time de backend na
Conrad Caine.

Formado em análise e desenvolvimento de
sistemas;
PHP?

#1 Todo mundo programa
#2 Fácil de fazer porcaria
#3 Muito código ruim pronto
#4 OOP do PHP é um lixo
#5 PHP não é para aplicações
grandes
#6 Projeto PHP é difícil de manter
Chega de mimimi...
Programador PHP
... manja as tecnologias a cerca da
WEB
... sabe HTTP

GET
PUT
POST
DELETE
... usa Hipermídia



           <script type="javascript">
              alert('E o programador PHP?');
           </script>
... domina seu ambiente



● SO Linux
● Web Service (Apache)
● PHP (5.2, 5.3, 5.4)
... domina SQL



SELECT * FROM database WHERE
NoSQL='required';
... almoça OO




Não existem vagas com descrição "procura-se
programador para trabalhar estruturado!"
... fala Design Patterns


●   soluções comuns a problemas
●   comunicação entre programadores
●   facilmente identificáveis no código
●   flexíveis
... documenta o código


● sabe quando documentar
● segue padrão ao documentar
● escreve comentários pertinentes
... versiona o código
... testa seu código
●   não apaga os testes
●   aplica teste unitário
●   utiliza tdd
●   aplica bdd




                            Mockery
           PHPSpec
... analisa e mensura seu código


●   phpcs
●   phpcpd
●   pdepend
●   phpmd
●   phploc
... busca seguir padrões

PHP-FIG

● PSR-0 - Autoload
● PSR-1 - Basic Coding Standard
● PSR-2 - Coding Style
Usa e abusa da roda e ainda tuna
ela...
Frameworks
Bibliotecas
Imagine       PHPThumb
 RespectValidation

   Twig
              Monolog
 phpQuery
              Buzz

     Smarty
CMS, E-Commerce, etc...
... usa pacotes e gerencia
dependências
... compartilha tudo
e ainda integra tudo!

Integração Contínua
E o mercado???
Perguntas?
Contato
email: krolow@gmail.com
blog: cobaia.net
github: github.com/krolow
Links
http://www.w3.org/Protocols/rfc2616/rfc2616.html
http://www.phpdoc.org/
http://git-scm.com/
http://www.phpunit.de/manual/current/en/
http://behat.org/
http://codeception.com/
https://github.com/padraic/mockery
http://www.phpspec.net/
http://pear.php.net/package/PHP_CodeSniffer/redirected
https://github.com/sebastianbergmann/phpcpd/
https://github.com/sebastianbergmann/phploc
http://pdepend.org/
http://phpmd.org/
http://www.php-fig.org/
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
http://framework.zend.com/
http://symfony.com/
http://cakephp.org/
http://codeigniter.com/
http://www.slimframework.com/
Links
http://silex.sensiolabs.org/              http://github.com
http://drupal.org                         http://hudson-ci.org/
http://www.magentocommerce.com/           http://jenkins-ci.org
http://www.oscommerce.com/                http://travis-ci.org/
http://wordpress.org
http://www.joomla.org
http://typo3.org/
https://github.com/avalanche123/Imagine
http://phpthumb.sourceforge.net/
https://github.com/Respect/Validation
http://twig.sensiolabs.org/
https://github.com/Seldaek/monolog
http://code.google.com/p/phpquery/
https://github.com/kriswallsmith/Buzz
http://www.smarty.net/
http://www.doctrine-project.org/
https://github.com/react-php/react
http://swiftmailer.org/
http://pear.php.net
http://getcomposer.org/
http://packagist.org/

Deixando de ser moleque com PHP