15 coisas sobre php 
para saber 
antes de morrer 
@mchelem 
Grupo RBS
de ???
15
http://exploringdata.github.io/vis/programming-languages-influence-network/
14
é campeão!
Linguagens server side CMS 
http://w3techs.com/technologies
Linguagens server side 
http://w3techs.com/technologies
13
debugger 
embarcado
phpdbg 
http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.phpdbg
ou debugger 
desembarcado 
mesmo....
xdebug 
http://xdebug.org/
xdebug + kcachegrind
xdebug + kcachegrind
12
servidor 
embarcado
$ 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.
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
phpsh
wp-cli
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 evil 
http://en.wikiquote.org/wiki/Donald_Knuth
pra que escapar 
desse jeito?!!
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
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 install 
https://getcomposer.org/
7
interceptando 
mensagens
$p = new Pessoa(); 
print $p->nome;
métodos mágicos 
http://php.net/manual/en/language.oop5.magic.php
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_basedir 
Limita 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_basedir 
Limita 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_basedir 
Limita os arquivos que podem ser acessados pelo PHP, 
através de include ou fopen 
Desabilita 
a cache!!! 
https://bugs.php.net/bug.php?id=52312
1
o php precisa de 
amor e proteção 
I
15 coisas sobre php para saber antes de morrer

15 coisas sobre php para saber antes de morrer