91
Rumo à certificação PHP Ari Stopassola Junior

Rumo à Certificação PHP

Embed Size (px)

DESCRIPTION

Apresentação intitulada "Rumo à Certificação PHP" na V Jornada Acadêmica de Análise e Desenvolvimento de Sistemas do IFRS - Câmpus Bento Gonçalves (que ocorreu entre os dias 6 e 7/11/2014): http://ads.bento.ifrs.edu.br/noticias/view/id/118/ Apresentei as vantagens em ser um profissional certificado, como funciona a compra do voucher, formato do teste, qual o conteúdo do exame, tecnologias relacionadas que também são abordadas, estratégias para conduzir melhor a prova, exemplos de questões, como as versões do PHP influenciam no teste, diferenças da ZCE (PHP 5.3) x ZCPE (PHP 5.5), armadilhas, técnicas de resolução das perguntas, como lidar com as inconsistências da linguagem, preparatório, simulados e a lista "Rumo à Certificação PHP": http://www.rumoacertificacaophp.com

Citation preview

Page 1: Rumo à Certificação PHP

Rumo à certificação PHP

Ari Stopassola Junior

Page 2: Rumo à Certificação PHP

Bacharel em Informática com ênfase em Análise de

Sistemas pela Unisinos, cursou mestrado em Engenharia

Informática e de Computadores pelo Instituto Superior

Técnico da Universidade Técnica de Lisboa (Portugal),

perito judicial 'ad hoc' especializado em TI (mantenedor do

site PERITO.inf.br), Zend Certified Engineer (PHP 5.3) e

Zend Certified PHP Engineer (PHP 5.5) #ZEND004019,

Certified ScrumMaster pela Scrum Alliance #203613,

Microsoft Certified Professional (MCP), consultor web e PHP

evangelist.

Ari Stopassola Junior

Page 3: Rumo à Certificação PHP
Page 4: Rumo à Certificação PHP

Certificações PHP

• CP-470 PHP – National Computer Science Academy

(NCSA)

http://www.ncsacademy.com/certification/php.cfm

• W3Schools

http://www.w3schools.com/cert/cert_php.asp

• Brainbench

• "Zend Certified PHP Engineer" (ZCPE PHP 5.5),

promovida pela Zend Technologies Ltd.

A mais prestigiada!

Page 5: Rumo à Certificação PHP

Vantagens

• Prestígio e reconhecimento junto a comunidade

• Processo rigoroso de aprovação

• Demonstra maturidade e proficiência na linguagem

• Permissão para uso dos logotipos oficiais nos cartões de visita

• Ganha uma licença perpétua do editor Zend Studio (versão vigente)

• Visibilidade internacional através da “Zend Certified Engineer

Directory”, antigamente conhecida como “Yellow Pages”

• Diferencial e bonificações salariais

• Descontos em conferências Zend

• O título ZCE/ZCPE não expira!

• Acesso a grupos exclusivos

• Oportunidades de outsourcing

Page 6: Rumo à Certificação PHP

Histórico

Page 7: Rumo à Certificação PHP

Estatísticas:

Yellow Pages

Até o momento (outubro/2014) há somente 369

profissionais certificados ZCE/ZCPE no Brasil:http://www.zend.com/en/services/certification/zend-certified-engineer-directory

http://www.zend.com/en/yellow-pages/ZEND004019

Page 8: Rumo à Certificação PHP

Logotipo para empresas que

desejam contratar profissionais

ZCPE

Desconto na compra de vouchers acima de 10 unidades: [email protected]

Page 9: Rumo à Certificação PHP

Preço e cupons de

desconto

http://www.softwarediscountcodes.com/zend-

phpcertification.html

http://www.softwarevouchers.com/zend-phpcertifications.html

http://www.retailmenot.com/view/zend.com

• Havia um bug no site onde o preço nos EUA (atribuído em

dólar) era o mesmo valor da Europa (porém em euros, mais

oneroso)

http://shop.zend.com/eu/php-certification.html

€170.00

http://shop.zend.com/en/php-certification.html

$195.00

7 a 10%

Page 10: Rumo à Certificação PHP

Conta na Zend:

http://shop.zend.com

Page 11: Rumo à Certificação PHP

Pearson VUE

http://vue.com/zend

Page 12: Rumo à Certificação PHP

Idioma

Na versão 5.5 existe apenas o

inglês.Nas vesões

anteriores, havia a possibilidade de escolher entre:

alemão, francês, inglês e japonês.

Page 13: Rumo à Certificação PHP

Local do exame

Page 14: Rumo à Certificação PHP

Agendamento

Page 15: Rumo à Certificação PHP

Confirmação

Page 16: Rumo à Certificação PHP

Usando o voucher da

Zend

Algo como:ZTPB379B231A

Page 17: Rumo à Certificação PHP

Finalizando

Page 18: Rumo à Certificação PHP

Atualizando a certificação

Page 19: Rumo à Certificação PHP

Zend Education

Advisory Board

Fonte: http://www.zend.com/services/certification/php-5-certification/education-advisory-board

Page 20: Rumo à Certificação PHP

Dia da prova

• A PearsonVUE recomenda que vocêchegue UMA hora antes

• Leve DOIS documentos oficiaisidentificadores com foto, para evitarfraudes

• Esteja hidratado

• Não é permitido levar qualquer material –eles ficam armazenados num armáriochaveado

• Não é permitido levantar-se no decorrerdo exame. Ida ao banheiro é controlada

Page 21: Rumo à Certificação PHP

Itens permitidos

• Eraseable board (quadro apagável)

• Protetor auricular

• Sua conduta é monitorada o tempo todo

• Qualquer suspeita de irregularidade, suaprova é invalidada

Fonte: http://www.gedtestingservice.com/testers/noteboards

Page 22: Rumo à Certificação PHP

Quiz #1

Eraseable board

<?php

interface i1 {}

interface i2 extends i1 {}

interface i3 {}

class c1 {}

class c2 extends c1 {}

class c3 extends c2 implements i2, i3 {}

$c3 = new C3();

echo $c3 instanceof c1;

echo $c3 instanceof c2;

echo $c3 instanceof c3;

echo $c3 instanceof i1;

echo $c3 instanceof i2;

echo $c3 instanceof i3;

?>

|

Page 23: Rumo à Certificação PHP

Reagendamento

• Pode-se reagendar quantas vezes quiser

durante UM ano, através do site

http://www.pearsonvue.com

• No mínimo 48 horas de antecedência

• Sem custo adicional

• Porém, há um efeito colateral…

Page 24: Rumo à Certificação PHP

Ansiedade

Page 25: Rumo à Certificação PHP

Estrutura do exame

• 70 perguntas randômicas

• Limite de 90 minutos para respondê-las

• ≅1 minuto e 17 segundos por questão!

• Caráter neutro

• Jamais se repetem

• Distribuídas entre os dez tópicos

• Tem mesmo peso

• Respostas incorretas não gerampenalidades

Page 26: Rumo à Certificação PHP

O que NÃO cai

Classes ou extensões externas provenientes da PEAR/Pyrus ou PECL

(CodeSniffer, PhpDocumentor, xDebug, profiler, GD, Phing, fPDF), ou

vindo de outros repositórios como a PHPUnit, Composer (gerenciador de

dependências), Suhosin (sistema de segurança em PHP), sistemas para

controle de versão (CVS, Subversion, Git, Mercurial), empacotamento

PHAR, procedimentos para Integração Contínua com Jenkins (e seus

módulos como PHPMD-MessDetector, DRY-Copy&Paste Detector,

PHP_Depend), sistema de templates (Smarty e Twig), PHP-GTK,

Frameworks (CakePHP, CodeIgniter, Symfony, ZendFramework, YII,

Prado), CMS (Typo3, Wordpress, Joomla!, Drupal), sistemas

especializados (Magento, SugarCRM ou phpMyAdmin), editores

(ZendStudio, NetBeans, PDT, Aptana, PhpED), mecanismos de cache

(APC, Memcache e Gearman), ORM (Propel ou Doctrine), funções SQL

específicas de algum banco de dados (que não sejam ANSI SQL), bases

NoSQL e ferramentas Zend como Zend Optimizer+, Zend Java Bridge,

Zend Guard Loader e outros.

Page 27: Rumo à Certificação PHP

FAIL

“Certification Exam Retakes”. Para mais

informações escreva:

[email protected]

Page 28: Rumo à Certificação PHP

CONGRATULATIONS

Page 29: Rumo à Certificação PHP

Relatório emitido no ato

Page 30: Rumo à Certificação PHP

Diploma físico

Page 31: Rumo à Certificação PHP
Page 32: Rumo à Certificação PHP
Page 33: Rumo à Certificação PHP
Page 34: Rumo à Certificação PHP

Dez tópicos

• Fundamentos do

PHP

• Funções

• Formato de dados

e tipos

• Recursos Web

• Programação

Orientada à

Objetos

• Segurança

• I/O (Entrada e

Saída)

• Strings e Padrões

• Banco de Dados

• Arrays

Page 35: Rumo à Certificação PHP

Enunciados

• Não há syntax highlight

• O algoritmo é sempre na linguagem PHP – não exibem pseudocódigos

• Podem conter imagens para ilustrar (geralmente algumatabela de BD, diagrama UML etc)

• Independem de Sistema Operacional e Sistema Gerenciador de Banco de Dados (SGBD)

• O teste também aborda, indiretamente, HTTP e SQL (Structured Query Language), XML (XPath) e JSON

• Nem sempre eles estarão em blocos terminados em ?>, a menos que haja HTML (ou JavaScript) embedded

• Pode fazer referência ao Apache (servidor de aplicação)

Page 36: Rumo à Certificação PHP

Resposta: escolha única

Page 37: Rumo à Certificação PHP

LEFT JOIN

SELECT names.name,emails.email

FROM names

LEFT JOIN emails ON emails.id=names.id;

names emails

Prioriza a tabela da “esquerda”, que

foi referenciada primeiro. Ou seja:

permite que uma das tabelas(names) retorne linhas mesmo que

não haja equivalência na outra tabela(emails).

Page 38: Rumo à Certificação PHP

Resposta: escolha

múltipla

Page 39: Rumo à Certificação PHP

Quiz #4

Preencha o espaço em branco com o nome

adequado.

A função _____________ chama

automaticamente os recursos necessários

sempre que um usuário tenta instanciar uma

classe inexistente.

__autoload()

Nomes de funções devem ser escritas em caixa

baixa (lowercase), sem espaços em branco, nem

explicações ou comentários. Com ou sem

parênteses.

Page 40: Rumo à Certificação PHP

Resposta: campo

aberto

• É um tipo de pergunta menos frequente

• Recebe:

– Nomes de funções/métodos/classes

– Conteúdo de variáveis

– Saída de código

– Pequenos trechos (snippets)

– Tipos de erro: Notice, Warning ou Fatal

error

– Nome de constantes

– Cláusula do php.ini

Page 41: Rumo à Certificação PHP

Freetext

abstract

Page 42: Rumo à Certificação PHP

Cláusulas padrão do php.ini

• register_globals = Off

• magic_quotes_gpc = Off

• error_reporting = E_ALL

• display_errors = On

Lembrando que as diretivas podem ser

indicadas por 1 e 0, respectivamente On e Off.Ex.: asp_tags = 0 (representa “Off”,

desligado).

Page 43: Rumo à Certificação PHP

5 MIL funções

Devo mentalizar todas elas?

E a ordem de parâmetros?

O foco do teste é em

análise de algoritmos

ou invés de

memorização

Page 44: Rumo à Certificação PHP

Quiz #6

Page 45: Rumo à Certificação PHP

Armadilhas: "to" versus "2"

• cal_to_jd

• ftok

• idn_to_ascii

• idn_to_unicode

• idn_to_utf8

• strtok

• strtolower

• strtotime

• strtoupper

• bin2hex

• deg2rad

• hex2bin

• image2wbmp

• ip2long

• jpeg2wbmp

• ldap_dn2ufn

• ldap_err2str

• long2ip

• nl2br

• png2wbmp

• px_date2string

• px_timestamp2string

• rad2deg

Page 46: Rumo à Certificação PHP

Inconsistências:

underscore

Com underscore Sem underscorejson_decode

base64_decode

urldecode

gzdecode

error_get_last

func_get_arg

fgetcsv

gethostname

str_pad

str_split

str_replace

str_getcsv

strlen

strptime

strrev

stristr

Page 47: Rumo à Certificação PHP

Inconsistências: case

insensitive – i versus

case

Case sensitive Case insensitive

strpos stripos

str_replace str_ireplace

strcmp strcasecmp

Page 48: Rumo à Certificação PHP

Inconsistências: verbo

versus objeto

Objeto/verbo Verbo/objetosocket_read

ldap_read

readdir

readfile

date_parse

xml_parse

parse_str

parse_url

imap_check

pspell_check

checkdnsrr

checkdate

timezone_version_get

realpath_cache_get

ini_get

getheaders

getcwd

getenv

Page 49: Rumo à Certificação PHP

Ordem de parâmetros

• Ordem dos argumentos discrepante:array_map(callback, array)

enquanto quearray_filter(array, callback)

• Anomalias na nomenclatura:bindtextdomain(domínio, diretório)

bind_textdomain_codeset(domínio, codeset)

Page 50: Rumo à Certificação PHP

Quiz #7

<?php

if("um"==0){

echo "Verdadeiro";

}

else {

echo "Falso";

}

?>

Page 51: Rumo à Certificação PHP

Type Juggling

• PHP é uma linguagem fracamente tipada

• Teste com == não compara os tipos de dados –diferentemente do === (idêntico).

• Implicitamente o PHP realiza casting automático

1) converte a string “um” em integer, resultando em inteiro 0

• Consequentemente o teste 0==0 é verdadeiro. Ex.:var_dump(intval("um")); //int(0)

var_dump(intval(0)); //int(0)

Page 52: Rumo à Certificação PHP

Quiz #8

Qual a saída deste

código?

A: 10111213

B: 1011

C: 101

D: 12

<?php

class A {

protected $a = 1;

function a() { echo $this->a++; }

}

class B extends A {

protected $a = 10;

function b() { echo $this->a++; $this->a(); }

}

$b = new B;

$b->b();

?>

Retro-compatiblidade

com PHP 4

Page 53: Rumo à Certificação PHP

Marcar para revisão

• Priorize as questões mais curtas

• Antes de realizar o teste de mesa,

verifique se as chamadas de função estão

com a sintaxe correta

• Marque para revisão

Page 54: Rumo à Certificação PHP

Tela de revisão

Page 55: Rumo à Certificação PHP

Quiz #9

Qual a saída do código a seguir:

<?php

function ExibeFilme($filme = ""){

if(8 == "8 Mile"){

$resultado = "Verdadeiro";

}

else {

$resultado = "Falso";

}

echo $filme;

}

echo ExibeFilme();

?>

A: VerdadeiroB: FalsoC: Parse errorD: (vazio)E: 8 Mile

Page 56: Rumo à Certificação PHP

“Existem 10 tipos de pessoas: a que

entendem binário e as que não

entendem”

Page 57: Rumo à Certificação PHP

Binário para decimal

Page 58: Rumo à Certificação PHP

Quiz #10

✓✓

$binario = 0b101010; //base 2

$octal = 01234; //base 8

$decimal = 1234; //base 10

$hexadecimal = 0x1234; //base 16

Page 59: Rumo à Certificação PHP

ZCE (PHP 5.3) ZCPE

(PHP 5.5)

• Built-in web server: php -S localhost:8080

• Cronômetro de alta precisão:$_SERVER['REQUEST_TIME_FLOAT']

• Novas formas de manipulação de arrays$array2 = [1,2,3,4];

echo ObtemArray()[1];

• Class member access on instantiation:echo (new DateTime)->getTimestamp();

• http_response_code(404);

• Traits

• Formato binário: $bin = 0b11001;

• Status de sessão: session_status();

• $this e use em Closures

• Progresso de upload: session.upload_progress.enabled = On

PHP 5.4

Page 60: Rumo à Certificação PHP

Quiz #11

O método especialistas() retorna os desenvolvedores responsáveis por cada framework.

De acordo com o código abaixo, como obter o especialista em ZendFramework2 “ZF2”?

class Developers {

public static function Especialistas(){

return [

'ZF2' => 'Ari Junior',

'Laravel' => 'Michaelsen',

'Code Igniter' => 'Oddy Silva',

'Symfony' => 'Renato'

];

}

}

Assinale as alternativas corretas:

A) echo Developers::Especialistas()['ZF2'];

B) echo (new Developers)->Especialistas()['ZF2'];

C) $dev = new Developers; echo $dev->Especialistas()['ZF2'];

D) Não pode instanciar pois o método Especialistas() é estático

✓✓✓

Page 61: Rumo à Certificação PHP

Herança múltiplaAlgumas observações

preliminares…

• Herdar significa reutilizar atributos e métodos de

uma classe ancestral

• A classe filha leva TODA a herança

• Pode-se controlar o que será herdado através

do escopo de visibilidade

• Na herança simples o reuso não é pleno, já que

poderia fazer uso de recursos contidos em

OUTRAS classes

• Se houver a necessidade de herança múltipla,

talvez possa indicar uma falha na modelagem

Page 62: Rumo à Certificação PHP

Deadly diamond of death

PHP não implementa herança múltipla portanto evita

o “Problema do Diamante”: que método usar se duas

sub-classes possuem um recurso de mesmo nome

que foi sobrescrito em ambas?

http://en.wikipedia.org/wiki/Diamond_problem

Herança múltipla

Métodos sobrescritos de A

Qual usar?

Page 63: Rumo à Certificação PHP

Cenário legítimo

Nesse caso o método

CargaDescarga (também útil na

classe Transfer) deverá ser

copiado

Page 64: Rumo à Certificação PHP

Traits

• Promovem “herança horizontal”

• Traits são usados ao invés de

instanciados

• Classes podem usar vários traits ao

mesmo tempo (assim como as interfaces)

• Traits podem conter outros traits

• Podem ter atributos

Page 65: Rumo à Certificação PHP

<?php

class Passeios {

function PagaComissao(){

return "Paga comissao...";

}

}

trait Recursos {

function CargaDescarga(){

return "Realiza carga e descarga";

}

}

class Transfer extends Passeios {

use Recursos;

}

$obj = new Transfer;

echo $obj->CargaDescarga();

?>

Page 66: Rumo à Certificação PHP

Resolução de conflitos

<?php

trait Colaborador {

function PreencherOpinario(){

return "Opinario dos colaboradores";

}

}

trait Parceiro {

function PreencherOpinario(){

return "Opinario dos parceiros";

}

}

trait Cliente {

function PreencherOpinario(){

return "Opinario dos clientes";

}

}

class Estagiario {

use Colaborador, Parceiro, Cliente;

}

$obj = new Estagiario;

echo $obj->PreencherOpinario();

?>

Fatal error: Trait method PreencherOpinario has not been applied, because there are collisions

with other trait methods on Estagiario in…

Page 67: Rumo à Certificação PHP

Traits: resolução de conflitos

class Estagiario {

use Colaborador, Parceiro, Cliente {

Colaborador::PreencherOpinario insteadof Parceiro,

Cliente;

}

}

class Estagiario {

use Colaborador, Parceiro, Cliente {

Colaborador::PreencherOpinario insteadof Parceiro,

Cliente;

Parceiro::PreencherOpinario as OpinarioSimplificado;

}

}

A ordem de uso dos métodos é:

①da própria classe

②do Trait

③da classe pai

Page 68: Rumo à Certificação PHP

Quiz #12Qual a saída do código PHP a seguir:

<?php

trait Colaborador {

function PreencherOpinario(){

return "colaboradores";

}

}

class Pessoa {

function PreencherOpinario(){

return "generico";

}

}

class Estagiario extends Pessoa{

use Colaborador;

function PreencherOpinario(){

return "estagiarios";

}

}

$colega = new Estagiario;

echo $colega->PreencherOpinario();

?>

|

Page 69: Rumo à Certificação PHP

ZCE (PHP 5.3) ZCPE

(PHP 5.5)

• Opcode Cachezend_extension=opcache.so

opcache.enable=1

• Iteração com generators (yield )

• API para hashing de senha: password_hash("senha",

PASSWORD_BCRYPT);

• try, catch e finally:

PHP 5.5

bloqueia tabela

try {

escreve no banco de dados

desbloqueia tabela

}

catch exceção {

reporta problemas

desbloqueia tabela

}

dig

ore

du

nd

ante

bloqueia tabela

try {

escreve no banco de dados

}

catch exceção {

reporta problemas

}

finally {

desbloqueia tabela

}

Page 70: Rumo à Certificação PHP

Preparatório

• Zend PHP 5.3 Certification Training ministrado pelo instrutor Doug

Bierer: http://static.zend.com/topics/videos/training/php-5-3-cert-

introduction/

• Test Prep: PHP Certification - online (9 encontros de 2 horas cada)

http://www.zend.com/en/services/training/php-5-cert

US$ 1.000

• Test Prep: PHP Certification - recorded Sessions (7 horas no total)

http://www.zend.com/en/services/training/php-certification-course

US$ 499

Doug B

iere

r

Page 71: Rumo à Certificação PHP

Disciplina

Page 72: Rumo à Certificação PHP

Lista de discussão:

Rumo à certificação PHPwww.rumoacertificacaophp.com

• Criada por Renington Neri em 31/07/2010

• Atualmente com 1050 membros

• Ficou conhecida pela “Pergunta do dia”

• Hoje, dia 7/nov, foi publicada a pergunta de nº

1.544

• Grupo no Facebook:

– http://www.facebook.com/groups/434330716587

436/ Primeiro logo, criado porGustavo Pereira

Ari

e G

usta

vo

–n

ov/2

01

3 e

mO

sa

sco

(S

P)

Page 73: Rumo à Certificação PHP

Recomendada pela

própria Zend!

Page 74: Rumo à Certificação PHP

Frutos

Podcast http://www.zcebrasil.com mantido

por Nanderson Castro

Nanderson e Ari – nov/2013 em Osasco (SP)

Page 75: Rumo à Certificação PHP

Conquistas recentes

• Cupons de 20% desconto na compra do

voucher para os exames "Zend Certified

PHP Engineer" (ZCPE) e "Zend

Framework 2 Certified Architect" (ZFCA)

• O mais recente expirou em 30/setembro:

Bra20phpzf14

• Dezenas de cupons vendidos – a maioria

para membros do nosso grupo

Page 76: Rumo à Certificação PHP

Livros

• Rumo à Certificação PHP por Kinn

Coelho Julião

<[email protected]>https://leanpub.com

/rumoacertificaophp

• Certification PHP 5.5: Zend

Certified PHP Engineer por Cyrille

Grandval e Julien Charpentier

• Em breve, pela editora Novatec

coming soon… Ari e Cyrille – jul/2014 em Gramado (RS)

Page 77: Rumo à Certificação PHP

Camisetas: development

Page 78: Rumo à Certificação PHP

Camisetas: build

Page 79: Rumo à Certificação PHP

Camisetas: deploy

Joe Stagner @misfitgeek e Ana Maria Valarezo @ana_mvalarezo, ambos da Zend

Page 80: Rumo à Certificação PHP

elePHPant

http://www.elephpant.com

Page 81: Rumo à Certificação PHP

App para Android - autoria de Fabricio Bedeschi:

[email protected]://play.google.com/store/apps/details?id=com.quiz.php

https://github.com/fabriciobrag/android-quiz-php

Page 82: Rumo à Certificação PHP

TCC de graduação em Informática

por João Paulo Cercal

[email protected]

http://zcpe.cekurte.com

Page 83: Rumo à Certificação PHP

Logotipo feito cordialmente pelo

francês Vincent Pontier – criador do

elePHPant (mascote oficial do PHP)

@Elroubio

Page 84: Rumo à Certificação PHP

Meeting com Matthew

Weier O'Phinney

ZCE (PHP 5.3), ZCPE (PHP 5.5), ZendFramework Certified, Linux Foundation Certified, CompTIA Linux+, LPI Linux Essentials, LPIC-1, certificado Novell e outras mais:

http://www.zend.com/en/yellow-pages/ZEND023069

Líder do ZendFramework, líder do projeto APIgility e tantos outros:

https://mwop.net

Page 85: Rumo à Certificação PHP

TDC 2014

Palestra de Leonardo Sápiras na trilha "Stadium" (auditório principal) no TDC Porto Alegre 2014.

Apresentação intitulada "PHP: adquirindo experiência e qualificação em projetos internacionais". Assista em:

http://www.globalcode.com.br/videos/tdc-2014-portoalegre/sexta/php-experiencia-e-qualificacao-projetos-internacionais

Page 86: Rumo à Certificação PHP

Pasta compartilhada no

DropBox e no GoogleDrive

Pedidos diretamente ao nosso "guardião" das pastas

compartilhadas:

Gustavo Pereira <[email protected]>

Page 87: Rumo à Certificação PHP

Roteiro

• Livro “PHP Programando com Orientação a Objetos” do

autor Pablo

Dall'Oglio:http://www.novatec.com.br/livros/phpobjetos2/

• Vídeo-aulas da Lynda e Udemy

• Livros clássicos (embora obsoletos em alguns aspectos)

• Analisar todas as "Perguntas do dia" da lista "Rumo à

Certificação PHP" http://rumoacertificacaophp.com/Tempo

US$ 19,95

Page 88: Rumo à Certificação PHP

Simulados e Apps

Page 89: Rumo à Certificação PHP

Certificamp

• Inspirado no http://www.bignerdranch.com

• "Acampamento" de estudos para a certificação

PHP

• Curso itinerante, presencial e de imersão

• Preparatório para o exame "Zend Certified PHP

Engineer" (ZCPE PHP 5.5)

• Realizado em 2 dias com carga horária de 16h

• https://www.facebook.com/certificamp

• https://www.twitter.com/certificamp

Page 90: Rumo à Certificação PHP

Bingo!

Quiz # Resposta

1 111111

2 B (5)

3 A e D

4 __autoload

5 abstract

6 E

7 Falso

8 10111213

9 (vazio)

10 42

11 A, B e C

12 estagiarios

Page 91: Rumo à Certificação PHP

E-mail:

[email protected]

Twitter: @stopassola

Skype: stopassola

LinkedIn:

http://pt.linkedin.com/in/stopassola

Facebook:

http://www.facebook.com/arijunior

Sites:

http://www.perito.inf.br

http://www.rumoacertificacaophp.com

Contatos