Top Banner
Globalcode – Open4education Trilha – PHP Vá para o próximo nível - Dicas e truques para a certificação PHP
67

TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Jan 10, 2017

Download

Internet

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Globalcode – Open4education

Trilha – PHPVá para o próximo nível - Dicas e truques para a

certificação PHP

Page 2: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

marabesi

@MatheusMarabesi

Page 3: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 4: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 5: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

ZENDSC10X10/jun

Page 6: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

HELP

WANTED !

Page 7: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 8: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

http://phingbrasil.com.br

Page 9: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 10: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Who doesn’t want to be certified ?

Page 11: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 12: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 13: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

????????

Page 14: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 15: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 16: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 17: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 18: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

$coração = 'Hello';

echo $coração;

Page 19: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 20: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class Cächaça{}

$cachaça = new Cächaça();

Page 21: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

BITWISE

Page 22: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 23: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

a bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits.

It is a fast, primitive action directly supported by the processor, and is used to manipulate values for comparisons and calculations

Page 24: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

& AND

| OR

^ XOR

>> RIGHT

<< LEFT

Page 25: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Bits that are set in

both $a AND $b are set.

http://php.net/manual/en/language.operators.bitwise.php

Page 26: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

& - AND

0 & 0 = 00 & 1 = 01 & 0 = 01 & 1 = 1

print (4 & 8);

Page 27: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Bits that are set in

either $a OR $b are set.

http://php.net/manual/en/language.operators.bitwise.php

Page 28: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

| - OR

0 | 0 = 00 | 1 = 11 | 0 = 11 | 1 = 1

print (2 | 7);

Page 29: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Bits that are set in

$a OR $b but not

BOTH are set. http://php.net/manual/en/language.operators.bitwise.php

Page 30: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

| - XOR

0 ^ 0 = 00 ^ 1 = 11 ^ 0 = 11 ^ 1 = 0

print (3 ^ 9);

Page 31: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 32: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

128 64 32 16 8 4 2 11 1 1 1 1 1 1 1 255

Page 33: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

128 64 32 16 8 4 2 10 0 0 0 0 1 0 0 40 0 0 0 1 0 0 0 8

print (4 & 8);

& - AND

Page 34: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

128 64 32 16 8 4 2 10 0 0 0 0 0 1 0 20 0 0 0 0 1 1 1 7

print (2 | 7);

| - OR

Page 35: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

128 64 32 16 8 4 2 10 0 0 0 0 0 1 1 30 0 0 0 1 0 0 1 9

print (3 ^ 9);

^ - XOR

Page 36: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

& AND

| OR

^ XOR

>> RIGHT

<< LEFT

Page 37: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Shift the bits of $a $b steps to the right (each step means "divide by two")

http://php.net/manual/en/language.operators.bitwise.php

Page 38: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

bit leftmost / 2 ^ bit rightmost

>> - Shift right

print (4 >> 6);

4 / 2 ^ 6 = 0

Page 39: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Shift the bits of $a $b steps to the left (each step means "multiply by two")

http://php.net/manual/en/language.operators.bitwise.php

Page 40: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

bit leftmost * 2 ^ bit rightmost

<< - Shift left

print (7 << 9);

7 * 2 ^ 9 = 3584

Page 41: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

& AND

| OR

^ XOR

>> RIGHT

<< LEFT

Page 42: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

Bits that are set in $a are not set, and vice versa.

http://php.net/manual/en/language.operators.bitwise.php

Page 43: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

~ - Not

~x = -x -1

print (~9);

~9 = -9 -1 = -10

Page 44: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

exit(253);

php execute.php

Page 45: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 46: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

http://www.phpinternalsbook.com/

Page 47: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

STREAMS

Page 48: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 49: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

$context = stream_context_create([ 'http' => [ 'method' => 'GET' ]]);

print file_get_contents('http://api.phpconference.com.br',false,$context

);

Page 50: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

$context = stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => 'field=value' ]]);

print file_get_contents('http://api.tdc2016floripa.com.br',false,$context

);

Page 51: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 52: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

O.O.PObject . Oriented . Programming

Page 53: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

LATE STATIC BINDING

XSELF

Page 54: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class A { public static function who() { echo __CLASS__; } public static function test() {

self::who(); }}

class B extends A { public static function who() { echo __CLASS__; }}

B::test();

Page 55: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class A { public static function who() { echo __CLASS__; } public static function test() {

static::who(); }}

class B extends A { public static function who() { echo __CLASS__; }}

B::test();

Page 56: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

OBJECT CLONING

Page 57: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class A { public $name;}

$a = new A();

$b = clone $a;

var_dump($a == $b);

Page 58: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class A { public $name;}

$a = new A();$a->name = 'Ana';

$b = clone $a;$b->name = 'Clark';

var_dump($a == $b);

Page 59: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

class B { public $lastName;}

class A { public $name; public $lastName;

public function __construct() { $this->lastName = new B(); }}

$a = new A();$a->lastName->lastName = 'River';

$b = clone $a;$b->lastName->lastName = 'Dom';

var_dump($a == $b);

Page 60: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

ARRAY

Page 61: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

sort();rsort();asort();ksort();krsort();usort();

Page 62: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

A

K

U

R

ASSOCIATIVE

KEY

USER

REVERSE

Page 63: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

sort();rsort();asort();ksort();krsort();usort();

Page 64: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

array_diff_ukeyarray_diff_uassocarray_intersect_assocarray_intersect_uassocarray_intersect_ukey

Page 65: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

DON’T

FORGET !

Page 66: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)
Page 67: TDC 2016 (Florianópolis) - Vá para o próximo nível - Dicas e truques para a certificação PHP (PT-BR)

marabesi

@MatheusMarabesi