Upgrade to Pro — share decks privately, control downloads, hide ads and more …

15 coisas sobre php para saber antes de morrer

mchelem
September 20, 2014

15 coisas sobre php para saber antes de morrer

Apresentação realizada durante o WordCamp RJ 2014.

http://2014.riodejaneiro.wordcamp.org/programacao/

(faça download do pdf para poder clicar nos links)

mchelem

September 20, 2014
Tweet

More Decks by mchelem

Other Decks in Programming

Transcript

  1. 15 coisas sobre php para saber antes de morrer @mchelem

    Grupo RBS
  2. ??? de

  3. None
  4. None
  5. 15

  6. None
  7. http://exploringdata.github.io/vis/programming-languages-influence-network/

  8. None
  9. None
  10. 14

  11. é campeão!

  12. http://w3techs.com/technologies Linguagens server side CMS

  13. http://w3techs.com/technologies Linguagens server side

  14. 13

  15. debugger embarcado

  16. phpdbg http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.phpdbg

  17. None
  18. None
  19. None
  20. None
  21. ou debugger desembarcado mesmo....

  22. xdebug http://xdebug.org/

  23. xdebug + kcachegrind

  24. xdebug + kcachegrind

  25. 12

  26. servidor embarcado

  27. $ php -S localhost:8080 PHP 5.5.9-1ubuntu4.2 Development Server started at

    Thu Sep 18 09: 42:05 2014 Listening on http://localhost: 8080 Document root is /home/mchelem Press Ctrl-C to quit.
  28. 11

  29. php linha de comando I

  30. $ php -r 'print_r([1,2,3]);' Array ( [0] => 1 [1]

    => 2 [2] => 3 )
  31. $ php meuscript.php Hello world!

  32. $ ./meuscript.php Hello world!

  33. 10

  34. php linha de comando II

  35. php -a

  36. phpsh

  37. wp-cli

  38. 9

  39. Strings

  40. 'pare de ' + $escrever + ' tudo ' +

    $assim + "\n" http://nikic.github.io/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html
  41. premature optimization is the root of all evil http://en.wikiquote.org/wiki/Donald_Knuth

  42. pra que escapar desse jeito?!!

  43. None
  44. heredoc ou nowdoc $heredoc = <<<EOD Meu nome é "$nome".

    Vamos ao $foo->foo EOD; $nowdoc = <<<'EOD' Meu nome é "$nome". Vamos ao $foo->foo. EOD; Meu nome é "João". Vamos ao BAR!!! Meu nome é "$name". Vamos ao $foo->foo echo
  45. 8

  46. phps e dependências

  47. phpenv $ phpenv install --releases $ phpenv install php-5.3.20 debug

    $ phpenv global 5.4.0 $ phpenv local 5.3.8 https://github.com/phpenv/phpenv e http://docs.travis-ci.com/user/languages/php/
  48. composer $ composer init $ cat composer.json { "require": {

    "monolog/monolog": "1.2.*" } } $ composer install https://getcomposer.org/
  49. 7

  50. interceptando mensagens

  51. $p = new Pessoa(); print $p->nome;

  52. http://php.net/manual/en/language.oop5.magic.php métodos mágicos

  53. 6

  54. type hinting

  55. None
  56. 5

  57. callbacks e funções anônimas

  58. None
  59. None
  60. 4

  61. None
  62. None
  63. None
  64. Ardendo no mármore do inferno...

  65. None
  66. 3

  67. Traits

  68. aka Mixins

  69. None
  70. 2

  71. histórias de horror

  72. ou sobre por que conhecer bem o que está por

    baixo dos panos... open_basedir Limita os arquivos que podem ser acessados pelo PHP, através de include ou fopen
  73. ou sobre por que conhecer bem o que está por

    baixo dos panos... open_basedir Limita os arquivos que podem ser acessados pelo PHP, através de include ou fopen https://bugs.php.net/bug.php?id=52312
  74. ou sobre por que conhecer bem o que está por

    baixo dos panos... open_basedir Limita os arquivos que podem ser acessados pelo PHP, através de include ou fopen https://bugs.php.net/bug.php?id=52312 Desabilita a cache!!!
  75. None
  76. 1

  77. o php precisa de amor e proteção I

  78. None