Post on 21-Jun-2015
description
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
MockeryPHPSpec
... 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
Respect\Validation
Twig
Smarty
PHPThumb
Buzz
Imagine
phpQueryMonolog
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.comblog: cobaia.netgithub: github.com/krolow
Linkshttp://www.w3.org/Protocols/rfc2616/rfc2616.htmlhttp://www.phpdoc.org/http://git-scm.com/http://www.phpunit.de/manual/current/en/http://behat.org/http://codeception.com/https://github.com/padraic/mockeryhttp://www.phpspec.net/http://pear.php.net/package/PHP_CodeSniffer/redirectedhttps://github.com/sebastianbergmann/phpcpd/https://github.com/sebastianbergmann/phplochttp://pdepend.org/http://phpmd.org/http://www.php-fig.org/https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.mdhttps://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.mdhttps://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.mdhttp://framework.zend.com/http://symfony.com/http://cakephp.org/http://codeigniter.com/http://www.slimframework.com/
Linkshttp://silex.sensiolabs.org/http://drupal.orghttp://www.magentocommerce.com/http://www.oscommerce.com/http://wordpress.orghttp://www.joomla.orghttp://typo3.org/https://github.com/avalanche123/Imaginehttp://phpthumb.sourceforge.net/https://github.com/Respect/Validationhttp://twig.sensiolabs.org/https://github.com/Seldaek/monologhttp://code.google.com/p/phpquery/https://github.com/kriswallsmith/Buzzhttp://www.smarty.net/http://www.doctrine-project.org/https://github.com/react-php/reacthttp://swiftmailer.org/http://pear.php.nethttp://getcomposer.org/http://packagist.org/
http://github.comhttp://hudson-ci.org/http://jenkins-ci.orghttp://travis-ci.org/