15 coisas sobre php para saber antes de morrer

Preview:

DESCRIPTION

Apresentação realizada durante o WordCamp RJ 2014. http://2014.riodejaneiro.wordcamp.org/programacao/

Citation preview

15 coisas sobre php para saber antes de morrer

@mchelemGrupo RBS

???de

15

14

é campeão!

http://w3techs.com/technologies

Linguagens server side CMS

http://w3techs.com/technologies

Linguagens server side

13

debuggerembarcado

ou debuggerdesembarcado

mesmo....

xdebug

http://xdebug.org/

xdebug + kcachegrind

xdebug + kcachegrind

12

servidor embarcado

$ php -S localhost:8080PHP 5.5.9-1ubuntu4.2 Development Server started at Thu Sep 18 09:42:05 2014Listening on http://localhost:8080Document root is /home/mchelemPress Ctrl-C to quit.

11

php linha de comando I

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

$ php meuscript.php Hello world!

$ ./meuscript.php Hello world!

10

php linha de comando II

php -a

9

Strings

'pare de ' + $escrever + ' tudo '

+ $assim + "\n"http://nikic.github.io/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html

premature optimization is the root of all evilhttp://en.wikiquote.org/wiki/Donald_Knuth

pra que escapar desse jeito?!!

heredoc ou nowdoc$heredoc = <<<EODMeu nome é "$nome". Vamos ao $foo->fooEOD;

$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

8

phps e dependências

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/

composer$ composer init

$ cat composer.json{ "require": { "monolog/monolog": "1.2.*" }}

$ composer installhttps://getcomposer.org/

7

interceptandomensagens

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

http://php.net/manual/en/language.oop5.magic.php

métodos mágicos

6

type hinting

5

callbacks e funções anônimas

4

Ardendo no mármore do inferno...

3

Traits

aka Mixins

2

histórias de horror

ou sobre por que conhecer bem o que está por baixo dos panos...

open_basedirLimita os arquivos que podem ser acessados pelo PHP, através de include ou fopen

ou sobre por que conhecer bem o que está por baixo dos panos...

open_basedirLimita os arquivos que podem ser acessados pelo PHP, através de include ou fopen

https://bugs.php.net/bug.php?id=52312

ou sobre por que conhecer bem o que está por baixo dos panos...

open_basedirLimita 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!!!

1

o php precisa de amor e proteção

I