SlideShare uma empresa Scribd logo
Rumo	
  à	
  cer*ficação	
  PHP	
  
Ari	
  Stopassola	
  Junior	
  
CERTIFIED
PHP ENGINEER
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
Histórico
PHP Experience 2016 - [Palestra] Rumo à Certificação PHP
Estatísticas:
Yellow Pages
Até o momento (março/2016) há somente 450
profissionais certificados ZCE/ZCPE no Brasil:
http://www.zend.com/en/services/certification/zend-certified-engineer-directory
h0p://www.zend.com/en/yellow-­‐pages/ZEND004019	
  	
  
Logotipo para empresas que desejam
contratar profissionais ZCPE
Desconto na compra de vouchers acima de 10 unidades: sales@zend.com
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%	
  
Zend Education Advisory Board
Fonte: http://www.zend.com/services/certification/php-5-certification/education-advisory-board
Itens permitidos
•  Eraseable board (quadro apagável)
•  Protetor auricular
•  Sua conduta é monitorada o tempo todo
•  Qualquer suspeita de irregularidade, sua prova é invalidada
Fonte:	
  h0p://www.gedtesHngservice.com/testers/noteboards	
  	
  
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;
?
|	
  
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…
Ansiedade
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 geram penalidades
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-CopyPaste 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.
FAIL
“Certification Exam Retakes”. Para mais
informações escreva: certification@zend.com
CONGRATULATIONS
Relatório emitido no ato
Diploma físico
PHP Experience 2016 - [Palestra] Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] 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
Alguns assuntos tem mais peso que
outros
Ênfase maior
Fundamentos do PHP, Programação Orientada à
Objetos e Segurança
Ênfase média
Funções, Recursos Web,Arrays e Strings e Padrões
Ênfase menor
Banco de Dados, Formato de dados e tipos e I/O
(Entrada e Saída)
Enunciados
•  Não há syntax highlight
•  O algoritmo é sempre na linguagem PHP – não exibem
pseudocódigos
•  Podem conter imagens para ilustrar (geralmente alguma tabela 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)
Resposta: escolha única
✓	
  
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).
Resposta: escolha múltipla
✓	
  
✓	
  
Quiz
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.
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
Freetext
abstract	
  
Comentar questão
•  Se você detectar algo estranho na questão, é possível fazer um
comentário
•  Dificilmente vai ocorrer alguma resposta dúbia, enunciado mal
construído, falta de dados…
•  O cronômetro continua correndo, portanto use com
moderação
•  Seus comentário serão enviados diretamente para a Zend
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).
Removidas	
  na	
  versão	
  5.4	
  
5 MIL funções
Devo memorizar todas elas?
E a ordem dos respectivos parâmetros?
O foco do teste é em
análise de algoritmos ou
invés de memorização
Quiz
✓	
  
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
Inconsistências: underscore
Com underscore Sem underscore
json_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
Inconsistências: case insensitive –
i versus case
Case sensitive Case insensitive
strpos stripos
str_replace str_ireplace
strcmp strcasecmp
Inconsistências: verbo versus
objeto
Objeto/verbo Verbo/objeto
socket_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
Ordem de parâmetros
•  Ordem dos argumentos discrepante:
array_map(callback, array)
enquanto que
array_filter(array, callback)
•  Anomalias na nomenclatura:
bindtextdomain(domínio, diretório)
bind_textdomain_codeset(domínio, codeset)
Quiz
?php
if(um==0){
echo Verdadeiro;
}
else {
echo Falso;
}
?
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
•  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)
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
Tela de revisão
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	
  
ZCE (PHP 5.3) è
ZCPE (PHP 5.5)
•  Opcode Cache
zend_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
}
Código	
  redundante	
  
bloqueia tabela
try {
escreve no banco de
dados
}
catch exceção {
reporta problemas
}
finally {
desbloqueia tabela
}
Preparatório oficial da
Zend
•  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
DougBierer
Disciplina
Lista de discussão:
Rumo à certificação PHP
www.rumoacertificacaophp.com
•  Criada em 31/07/2010
•  Atualmente com 1.600 membros
•  Ficou conhecida pela “Pergunta do dia”
•  Hoje, dia 22/março, foi publicada a pergunta de nº 2.045
•  Grupo no Facebook: http://www.facebook.com/groups/434330716587436/
Primeiro	
  logo,	
  criado	
  por	
  
Gustavo	
  Pereira	
  
ArieGustavo–nov/2013emOsasco(SP)
Recomendada pela
própria Zend!
Livros
•  Rumo à Certificação PHP por Kinn Coelho Julião
kinncj@php.net 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)
App para Android - autoria de Fabricio Bedeschi:
fabricio.bedeschi@gmail.com
https://play.google.com/store/apps/details?id=com.quiz.php
https://github.com/fabriciobrag/android-quiz-php
TCC de graduação em Informática
por João Paulo Cercal
jpcercal@gmail.com
h0p://zcpe.cekurte.com	
  	
  
Logotipo feito cordialmente pelo
francêsVincent Pontier – criador do
elePHPant (mascote oficial do PHP)
@Elroubio	
  	
  
Pasta compartilhada no DropBox e
GoogleDrive
Pedidos diretamente ao nosso guardião das pastas compartilhadas:
Gustavo Pereira gustavoper@gmail.com
Dicas de quem já é certificado
https://www.youtube.com/watch?v=GE0d3rkkLmY
https://www.youtube.com/watch?v=LOupOxdSWto
https://www.youtube.com/watch?v=RuSZfeLpiv8
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, Udemy e iMasters
•  Analisar todas as Perguntas do dia da lista Rumo à Certificação PHP
http://rumoacertificacaophp.com/
Tempo
US$	
  
19,95	
  
Simulados e Apps
Saindo do forno…
Livro inédito sobre o assunto (principalmente em português) com a
autoria de Matheus Marabesi e Michael Douglas Barbosa Araujo
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
https://www.facebook.com/certificamp
https://www.twitter.com/certificamp
E-mail: arijunior@gmail.com
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.certificamp.com
http://www.rumoacertificacaophp.com
Contatos

Mais conteúdo relacionado

PDF
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PDF
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PDF
Doctrine2 Seminário PHP
PPTX
PDF
Zend Framework 2 - Desenvolvimento Ágil Competente
PPTX
Doctrine for Dummies
PPTX
Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Keynote: PHP-7
Doctrine2 Seminário PHP
Zend Framework 2 - Desenvolvimento Ágil Competente
Doctrine for Dummies
Rumo à Certificação PHP

Mais procurados (20)

PDF
Minicurso Shell Script
PDF
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
ODP
Dependency injection
PDF
Zephir
PDF
Tutorial Shell Script
PDF
PHP Jedi - Boas Práticas e Alta Performance
PDF
Curso Gratuito de Shell Script
ODP
Introducao ao Shell Script
PDF
Palestra Desenvolvimento Ágil para Web com ROR UVA
PDF
Oficina de shell script
PPTX
MongoDB + PHP
PPTX
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
ODP
Shell Script - Luz e trevas
PPT
Shell Script
PDF
Shell Script v0
PDF
Programação em Shell Script
PDF
Curso shell
PDF
Introdução à Shellscript
PDF
O que esperar do Zend Framework 3
PDF
12 aula - shell script-2015
Minicurso Shell Script
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
Dependency injection
Zephir
Tutorial Shell Script
PHP Jedi - Boas Práticas e Alta Performance
Curso Gratuito de Shell Script
Introducao ao Shell Script
Palestra Desenvolvimento Ágil para Web com ROR UVA
Oficina de shell script
MongoDB + PHP
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Shell Script - Luz e trevas
Shell Script
Shell Script v0
Programação em Shell Script
Curso shell
Introdução à Shellscript
O que esperar do Zend Framework 3
12 aula - shell script-2015
Anúncio

Destaque (20)

PDF
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PDF
PHP Experience 2016 - [Palestra] Melhorando a comunicação da API através de DSL
PDF
PHP Experience 2016 - [Palestra] Autenticação em APIs
PDF
PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
PDF
Waw - Gas
PDF
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PDF
PHP Experience 2016 - [Palestra] Json Web Token (JWT)
PPTX
PHP Experience 2016 - [Workshop] Agile: Test Driven Development
PPTX
Conheça mais o SlideShare
PPT
Aula 5 encapsulamento, associação, polimorfismo, interfaces
PPTX
Mini Curso Wordpress
PPT
POO - Aula 1 introducao
PPT
Aula 2 conversao de variaveis j option-pane
PPSX
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
PPT
Aula 4 herança, sobrescrita de métodos, construtor
ODT
Lista Exercicios 03
PPT
PHP - Arrays
PPT
Metodologia SCRUM
PDF
PHP Orientado a Objetos
PDF
Curso de PHP - Arrays
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PHP Experience 2016 - [Palestra] Melhorando a comunicação da API através de DSL
PHP Experience 2016 - [Palestra] Autenticação em APIs
PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Waw - Gas
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Palestra] Json Web Token (JWT)
PHP Experience 2016 - [Workshop] Agile: Test Driven Development
Conheça mais o SlideShare
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Mini Curso Wordpress
POO - Aula 1 introducao
Aula 2 conversao de variaveis j option-pane
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
Aula 4 herança, sobrescrita de métodos, construtor
Lista Exercicios 03
PHP - Arrays
Metodologia SCRUM
PHP Orientado a Objetos
Curso de PHP - Arrays
Anúncio

Semelhante a PHP Experience 2016 - [Palestra] Rumo à Certificação PHP (20)

PDF
Preparando-se para a prova da Certificação Zend PHP 5.3
PDF
Phpjedi 090307090434-phpapp01 2
ODP
Sapo Sessions PHP
PDF
Jj08 otimizacao
PDF
Ap 04 05_10
PDF
Code Smells: o que eles dizem sobre seu código?
PPTX
Código limpo
PDF
PHP like a super hero
PDF
Linguagem de Programação Java para Iniciantes
PDF
Php Conf08 Refactoring
PPTX
Doctrine for dummies
PPTX
PPT
PHP(I-Bim).ppt
PPSX
Cakephp 2.0 - O que mudou
PDF
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
PPTX
Comandos gerais do PHP
PPTX
Code Smells
ODP
Certificacao Php
PDF
O futuro do elephante: as promessas do php para 2019
PDF
Crescendo profissionalmente com o apoio comunidade
Preparando-se para a prova da Certificação Zend PHP 5.3
Phpjedi 090307090434-phpapp01 2
Sapo Sessions PHP
Jj08 otimizacao
Ap 04 05_10
Code Smells: o que eles dizem sobre seu código?
Código limpo
PHP like a super hero
Linguagem de Programação Java para Iniciantes
Php Conf08 Refactoring
Doctrine for dummies
PHP(I-Bim).ppt
Cakephp 2.0 - O que mudou
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Comandos gerais do PHP
Code Smells
Certificacao Php
O futuro do elephante: as promessas do php para 2019
Crescendo profissionalmente com o apoio comunidade

Mais de iMasters (20)

PPTX
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
PDF
Postgres: wanted, beloved or dreaded? - Fabio Telles
PPTX
Por que minha query esta lenta? - Suellen Moraes
PPTX
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
PDF
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
PPTX
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
PDF
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
PDF
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
PDF
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
PDF
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
PDF
Entendendo os porquês do seu servidor - Talita Bernardes
PDF
Backend performático além do "coloca mais máquina lá" - Diana Arnos
PPTX
Dicas para uma maior performance em APIs REST - Renato Groffe
PPTX
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
PDF
Quem se importa com acessibilidade Web? - Mauricio Maujor
PDF
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
PDF
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
PDF
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
PDF
Construindo aplicações mais confiantes - Carolina Karklis
PDF
Monitoramento de Aplicações - Felipe Regalgo
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
Postgres: wanted, beloved or dreaded? - Fabio Telles
Por que minha query esta lenta? - Suellen Moraes
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Entendendo os porquês do seu servidor - Talita Bernardes
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Dicas para uma maior performance em APIs REST - Renato Groffe
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
Quem se importa com acessibilidade Web? - Mauricio Maujor
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Construindo aplicações mais confiantes - Carolina Karklis
Monitoramento de Aplicações - Felipe Regalgo

Último (20)

PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
DOENÇAS SEXUALMENTE TRANSMISSIVEIS E SUAS POLARIDADES
PDF
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PPTX
Programa Nacional de Saúde do Adulto.pptx
PDF
Formação politica brasil_2017.pptx.pdf
PPTX
4. A cultura do cinema e as vanguardas.pptx
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PPTX
disciplulado curso preparatorio para novos
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PDF
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PDF
metabolismo energtico das clulas-131017092002-phpapp02.pdf
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PDF
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PPTX
cijma-2501231hejjeiei45156-38f87891.pptx
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
DOENÇAS SEXUALMENTE TRANSMISSIVEIS E SUAS POLARIDADES
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
Programa Nacional de Saúde do Adulto.pptx
Formação politica brasil_2017.pptx.pdf
4. A cultura do cinema e as vanguardas.pptx
Uma Introdução às Ciências do Alcorão (Islam)
disciplulado curso preparatorio para novos
[Slides] A Literatura no ENEM 2017 (1).pdf
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
metabolismo energtico das clulas-131017092002-phpapp02.pdf
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
Trabalho Cidades sustentáveis ou Utopia.pptx
cijma-2501231hejjeiei45156-38f87891.pptx
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx

PHP Experience 2016 - [Palestra] Rumo à Certificação PHP

  • 1. Rumo  à  cer*ficação  PHP   Ari  Stopassola  Junior   CERTIFIED PHP ENGINEER
  • 2. 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
  • 5. Estatísticas: Yellow Pages Até o momento (março/2016) há somente 450 profissionais certificados ZCE/ZCPE no Brasil: http://www.zend.com/en/services/certification/zend-certified-engineer-directory h0p://www.zend.com/en/yellow-­‐pages/ZEND004019    
  • 6. Logotipo para empresas que desejam contratar profissionais ZCPE Desconto na compra de vouchers acima de 10 unidades: sales@zend.com
  • 7. 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%  
  • 8. Zend Education Advisory Board Fonte: http://www.zend.com/services/certification/php-5-certification/education-advisory-board
  • 9. Itens permitidos •  Eraseable board (quadro apagável) •  Protetor auricular •  Sua conduta é monitorada o tempo todo •  Qualquer suspeita de irregularidade, sua prova é invalidada Fonte:  h0p://www.gedtesHngservice.com/testers/noteboards    
  • 10. 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; ? |  
  • 11. 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…
  • 13. 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 geram penalidades
  • 14. 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-CopyPaste 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.
  • 15. FAIL “Certification Exam Retakes”. Para mais informações escreva: certification@zend.com
  • 21. 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
  • 22. Alguns assuntos tem mais peso que outros Ênfase maior Fundamentos do PHP, Programação Orientada à Objetos e Segurança Ênfase média Funções, Recursos Web,Arrays e Strings e Padrões Ênfase menor Banco de Dados, Formato de dados e tipos e I/O (Entrada e Saída)
  • 23. Enunciados •  Não há syntax highlight •  O algoritmo é sempre na linguagem PHP – não exibem pseudocódigos •  Podem conter imagens para ilustrar (geralmente alguma tabela 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)
  • 25. 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).
  • 27. Quiz 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.
  • 28. 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
  • 30. Comentar questão •  Se você detectar algo estranho na questão, é possível fazer um comentário •  Dificilmente vai ocorrer alguma resposta dúbia, enunciado mal construído, falta de dados… •  O cronômetro continua correndo, portanto use com moderação •  Seus comentário serão enviados diretamente para a Zend
  • 31. 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). Removidas  na  versão  5.4  
  • 32. 5 MIL funções Devo memorizar todas elas? E a ordem dos respectivos parâmetros? O foco do teste é em análise de algoritmos ou invés de memorização
  • 34. 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
  • 35. Inconsistências: underscore Com underscore Sem underscore json_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
  • 36. Inconsistências: case insensitive – i versus case Case sensitive Case insensitive strpos stripos str_replace str_ireplace strcmp strcasecmp
  • 37. Inconsistências: verbo versus objeto Objeto/verbo Verbo/objeto socket_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
  • 38. Ordem de parâmetros •  Ordem dos argumentos discrepante: array_map(callback, array) enquanto que array_filter(array, callback) •  Anomalias na nomenclatura: bindtextdomain(domínio, diretório) bind_textdomain_codeset(domínio, codeset)
  • 40. 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 •  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)
  • 41. 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
  • 43. 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  
  • 44. ZCE (PHP 5.3) è ZCPE (PHP 5.5) •  Opcode Cache zend_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 } Código  redundante   bloqueia tabela try { escreve no banco de dados } catch exceção { reporta problemas } finally { desbloqueia tabela }
  • 45. Preparatório oficial da Zend •  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 DougBierer
  • 47. Lista de discussão: Rumo à certificação PHP www.rumoacertificacaophp.com •  Criada em 31/07/2010 •  Atualmente com 1.600 membros •  Ficou conhecida pela “Pergunta do dia” •  Hoje, dia 22/março, foi publicada a pergunta de nº 2.045 •  Grupo no Facebook: http://www.facebook.com/groups/434330716587436/ Primeiro  logo,  criado  por   Gustavo  Pereira   ArieGustavo–nov/2013emOsasco(SP)
  • 49. Livros •  Rumo à Certificação PHP por Kinn Coelho Julião kinncj@php.net 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)
  • 50. App para Android - autoria de Fabricio Bedeschi: fabricio.bedeschi@gmail.com https://play.google.com/store/apps/details?id=com.quiz.php https://github.com/fabriciobrag/android-quiz-php
  • 51. TCC de graduação em Informática por João Paulo Cercal jpcercal@gmail.com h0p://zcpe.cekurte.com    
  • 52. Logotipo feito cordialmente pelo francêsVincent Pontier – criador do elePHPant (mascote oficial do PHP) @Elroubio    
  • 53. Pasta compartilhada no DropBox e GoogleDrive Pedidos diretamente ao nosso guardião das pastas compartilhadas: Gustavo Pereira gustavoper@gmail.com
  • 54. Dicas de quem já é certificado https://www.youtube.com/watch?v=GE0d3rkkLmY https://www.youtube.com/watch?v=LOupOxdSWto https://www.youtube.com/watch?v=RuSZfeLpiv8
  • 55. 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, Udemy e iMasters •  Analisar todas as Perguntas do dia da lista Rumo à Certificação PHP http://rumoacertificacaophp.com/ Tempo US$   19,95  
  • 57. Saindo do forno… Livro inédito sobre o assunto (principalmente em português) com a autoria de Matheus Marabesi e Michael Douglas Barbosa Araujo
  • 58. 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 https://www.facebook.com/certificamp https://www.twitter.com/certificamp
  • 59. E-mail: arijunior@gmail.com 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.certificamp.com http://www.rumoacertificacaophp.com Contatos