PHP like aSuper Hero elton luís minetto    @eminetto
Quem são vocês?
Quem sou eu?Graduado e pós-graduado em Ciência da ComputaçãoTrabalho com PHP/MySQL desde 2000. Trabalho com Linuxdesde 199...
Motivação
PHP?Por onde começo?
PHP   Namespaces Traits   Orientação a objetos Banco de Dados   Controle de versões  Testes Frameworks ORM REST SOAIntegra...
First things first...
PHP
PHPNamespaces
1.<?php2.namespace CoreService;4.use ZendHttpClient as HttpClient;5.use ZendHttpRequest;6.class Auth7.{8.    public functi...
PHP                       Traitshttp://diogobesson.com.br/programacao/php-traits/
PHP           Servidor embutidophp -S localhost:8080 -t /var/www/projeto
PHP                        pharhttp://phpmaster.com/packaging-your-apps-with-phar/
PHP   Composerhttp://getcomposer.org
composer.json1.{2.    "minimum-stability": "dev",3.    "require": {4.        "silex/silex": "1.0.*",5.        "dms/dms": "...
Instalar dependências1.curl -s https://getcomposer.org/installer | php2.php composer.phar install
Atualizar dependências1.php composer.phar update
PHPFunções nativas
Orientação a objetos
Bancos de dados
Bancos de dados  SQL - MySQL, sqlite, PostgreSQL
Bancos de dadosNoSQL - MongoDB, CouchDB, Cassandra, Redis, Hadoop
Controle de versões
Controle de versões      Git, SVN, Mercurial
Testes unitários      PHPunit                   Mostrar os testes do modulo                   Api rodando. Provocar um    ...
Segurança e programação        segura
Segurança e programação segura    https://www.owasp.org/index.php/Main_Page
1.$inputFilter->add($factory->createInput(array(2.                name     => title,3.                required => true,4. ...
Participe, seja social           Participe de eventosParticipe de grupos de usuários regionais              Escreva um blo...
Ok?É isso
Design patterns Frameworks Zend Framework Symfony   Code Igniter Slim         Silex Doctrine
Design patterns
Frameworks
Frameworks Full-Stack Zend Framework, CakePHP, Symfony, Code Igniter
Micro Frameworks    Slim, Silex, Respect
ORMDoctrine
Aprenda mais de um sistema       operacional       Linux, Windows, MacOSX
Tem mais? Manda!
SOA, Rest, RPC
Injeção de Dependências
Performance
Performance - Xdebug        Profiling         Debug
Mostrar cachegrind.png
Performance - Cache      APC, Memcached
Performance - Avaliação       Siege, Apache ab, ySlow
Integração contínua
Cloud computing   Amazon Web Services    Heroku, PHPCloud
Object Calisthenics Nove regras para melhorar o código   http://slidesha.re/KTZM97
Certificação
O mais importante!
Divirta-se no processo
http://www.phptherightway.com
Contato      @eminettohttp://eltonminetto.net http://coderockr.com
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
PHP like a super hero
Upcoming SlideShare
Loading in...5
×

PHP like a super hero

319

Published on

O que é preciso aprender para tornar-se um bom programador PHP?

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
319
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PHP like a super hero

  1. 1. PHP like aSuper Hero elton luís minetto @eminetto
  2. 2. Quem são vocês?
  3. 3. Quem sou eu?Graduado e pós-graduado em Ciência da ComputaçãoTrabalho com PHP/MySQL desde 2000. Trabalho com Linuxdesde 1997. Professor desde 2004.Autor do livro Frameworks para Desenvolvimento em PHP -Editora Novatec, autor do e-book Zend Framework na práticaSócio da Coderockr
  4. 4. Motivação
  5. 5. PHP?Por onde começo?
  6. 6. PHP Namespaces Traits Orientação a objetos Banco de Dados Controle de versões Testes Frameworks ORM REST SOAIntegração contínua Xdebug APC Memcached Object Calisthenics
  7. 7. First things first...
  8. 8. PHP
  9. 9. PHPNamespaces
  10. 10. 1.<?php2.namespace CoreService;4.use ZendHttpClient as HttpClient;5.use ZendHttpRequest;6.class Auth7.{8. public function __construct($apiKey, $apiUri, $rpcUri)9.  {10.  $this->httpClient = new HttpClient();11. }12. }
  11. 11. PHP Traitshttp://diogobesson.com.br/programacao/php-traits/
  12. 12. PHP Servidor embutidophp -S localhost:8080 -t /var/www/projeto
  13. 13. PHP pharhttp://phpmaster.com/packaging-your-apps-with-phar/
  14. 14. PHP Composerhttp://getcomposer.org
  15. 15. composer.json1.{2.    "minimum-stability": "dev",3.    "require": {4.        "silex/silex": "1.0.*",5.        "dms/dms": "dev-master",6.        "doctrine/common": "*",7.        "doctrine/dbal": "*",8.        "doctrine/orm": "*",9.        "symfony/validator": "*",10.        "symfony/class-loader": "*",11.        "symfony/console": "*",12.        "monolog/monolog": "*",13.        "jms/metadata": "*",14.        "jms/serializer-bundle": "*",15.        "sybio/image-workshop": "*"16.    }17.}
  16. 16. Instalar dependências1.curl -s https://getcomposer.org/installer | php2.php composer.phar install
  17. 17. Atualizar dependências1.php composer.phar update
  18. 18. PHPFunções nativas
  19. 19. Orientação a objetos
  20. 20. Bancos de dados
  21. 21. Bancos de dados SQL - MySQL, sqlite, PostgreSQL
  22. 22. Bancos de dadosNoSQL - MongoDB, CouchDB, Cassandra, Redis, Hadoop
  23. 23. Controle de versões
  24. 24. Controle de versões Git, SVN, Mercurial
  25. 25. Testes unitários PHPunit Mostrar os testes do modulo Api rodando. Provocar um erro colocando um novo parâmetro no método authenticate do service Auth
  26. 26. Segurança e programação segura
  27. 27. Segurança e programação segura https://www.owasp.org/index.php/Main_Page
  28. 28. 1.$inputFilter->add($factory->createInput(array(2.                name     => title,3.                required => true,4.                filters  => array(5.                    array(name => StripTags),6.                    array(name => StringTrim),7.                ),8.                validators => array(9.                    array(10.                        name    => StringLength,11.                        options => array(12.                            encoding => UTF-8,13.                            min      => 1,14.                            max      => 100,15.                        ),16.                    ),17.                ),18.            )));
  29. 29. Participe, seja social Participe de eventosParticipe de grupos de usuários regionais Escreva um blog Participe de fóruns e listas de discussão
  30. 30. Ok?É isso
  31. 31. Design patterns Frameworks Zend Framework Symfony Code Igniter Slim Silex Doctrine
  32. 32. Design patterns
  33. 33. Frameworks
  34. 34. Frameworks Full-Stack Zend Framework, CakePHP, Symfony, Code Igniter
  35. 35. Micro Frameworks Slim, Silex, Respect
  36. 36. ORMDoctrine
  37. 37. Aprenda mais de um sistema operacional Linux, Windows, MacOSX
  38. 38. Tem mais? Manda!
  39. 39. SOA, Rest, RPC
  40. 40. Injeção de Dependências
  41. 41. Performance
  42. 42. Performance - Xdebug Profiling Debug
  43. 43. Mostrar cachegrind.png
  44. 44. Performance - Cache APC, Memcached
  45. 45. Performance - Avaliação Siege, Apache ab, ySlow
  46. 46. Integração contínua
  47. 47. Cloud computing Amazon Web Services Heroku, PHPCloud
  48. 48. Object Calisthenics Nove regras para melhorar o código http://slidesha.re/KTZM97
  49. 49. Certificação
  50. 50. O mais importante!
  51. 51. Divirta-se no processo
  52. 52. http://www.phptherightway.com
  53. 53. Contato @eminettohttp://eltonminetto.net http://coderockr.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×