O documento apresenta informações sobre treinamentos e certificações em PHP ministrados por Edgar Rodrigues Sandi. Apresenta detalhes sobre os cursos oficiais de PHP I - Fundamentos e PHP II - Estruturas Superiores da Season Treinamentos, além de minicursos sobre temas como segurança, frameworks e certificações. Também fornece breve introdução sobre a linguagem PHP e empresas como Zend que apoiam o desenvolvimento da linguagem.
Zend Framework 2 - Desenvolvimento Ágil Competente
Introducao ao PHP @edgarsandi
1. Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP
Edgar Rodrigues Sandi
@EdgarSandi@EdgarSandi
edgar@season.com.br
@EdgarSandi
2. Gerente de projetos
Utiliza principalmente as linguagens PHP e Java
para desenvolvimento
Ministra os treinamentos:
◦ Linguagens de Programação
PHP I – Fundamentos ( Oficial Zend )PHP I – Fundamentos ( Oficial Zend )
PHP II – Estruturas Superiores ( Oficial Zend )
Academia do Programador ( Oficial Globalcode )
◦ Bancos de Dados (MySQL / PostgreSQL e Oracle)
◦ MS Project
◦ WebDesign (Suíte Adobe)
Instrutor homologado Globalcode
@EdgarSandi
3. Quem é a Season Treinamentos?Season Treinamentos?Season Treinamentos?Season Treinamentos?
A Season TreinamentosSeason TreinamentosSeason TreinamentosSeason Treinamentos é o único centroA Season TreinamentosSeason TreinamentosSeason TreinamentosSeason Treinamentos é o único centro
autorizado a realizar treinamentos oficiais
das tecnologias Zend no Brasil.
Treinamentos oficiais:
@EdgarSandi
4. Treinamentos oficiais:
◦ PHP I – Fundamentos◦ PHP I – Fundamentos
◦ PHP II – Estruturas Superiores
Próximos treinamentos oficiais:
◦ Zend Framework
◦ Zend Server
◦ Zend Studio
◦ Preparatório para as certificações ZCE e ZFC
@EdgarSandi
5. Treinamentos oficiais em São Paulo:
PHP I - Fundamentos PHP II – Estruturas Superiores
@EdgarSandi
PHP I - Fundamentos
Treinamento Oficial Zend
Carga Horária
24 horas
Próximas Turmas
São Paulo/SP
28.02.2011 Seg. à Ter. - Integral
PHP II – Estruturas Superiores
Treinamento Oficial Zend
Carga Horária
40 horas
Próximas Turmas
São Paulo/SP
28.03.2011 Seg. à Sex. - Integral
6. Próximos minicursos em São Paulo:
Recursos avançados / Orientação a Objetos
@EdgarSandi
Carga Horária dos minicursos
3 horas
Recursos avançados / Orientação a Objetos
23.02.2011 Quarta feira – 19h
Segurança no PHP
30.03.2011 Quarta feira – 19h
Frameworks PHP
27.04.2011 Quarta feira – 19h
A certificação ZCE
25.05.2011 Quarta feira – 19h
7. Quem é ZendZendZendZend Technologies?Technologies?Technologies?Technologies?
◦ ZendZendZendZend é uma empresa norte-americana fabricante de◦ ZendZendZendZend é uma empresa norte-americana fabricante de
software.
◦ Seus produtos são orientados para a plataforma
PHP com ênfase no gerenciamento e melhoria do
desempenho de aplicações web utilizando esta
tecnologia.
@EdgarSandi
8. Produtos oferecidos:
◦ Zend Server e Zend Server CE,◦ Zend Server e Zend Server CE,
◦ Zend Studio,
◦ Zend Guard e
◦ Zend Cloud Platform.
@EdgarSandi
9. Zend Server é um servidor de aplicação WEB
completo e pronto para organizações rodar ecompleto e pronto para organizações rodar e
gerenciar aplicações PHP que exijam um alto
nível de segurança, performance e
confiabilidade em ambiente Linux, Windows
ou IBM i
@EdgarSandi
10. Zend Studio é um IDE (Integrated
Development Environment) profissional paraDevelopment Environment) profissional para
PHP.
Ele foi projetado para maximizar a
produtividade do desenvolvedor, permitindo
desenvolver, manter, resolver problemas de
aplicações rapidamente e melhorar a
colaboração em equipe.
@EdgarSandi
11. O Zend Guard é a solução mais completa para
proteger e distribuir aplicações PHP.
Combina uma excelente proteção do código a umCombina uma excelente proteção do código a um
sistema de administração de licenças flexível.
Zend Guard permite um gerenciamento e
distribuição de suas aplicações PHP de forma
confiável e segura.
Possui dois componentes básicos: Zend Guard
Encoder e o Zend Guard License Manager.
@EdgarSandi
12. O Zend Cloud Plataform inclui todos os
componentes necessários para o êxito docomponentes necessários para o êxito do
desenvolvimento, funcionamento e
dimensionamento de aplicativos críticos de
negócios PHP na nuvem.
@EdgarSandi
14. Zend Engine é o coração do PHP, originalmente
escrito por Andi Gutmans e Zeev Suraski.
A primeira versão da Zend Engine foi liberadaA primeira versão da Zend Engine foi liberada
com o PHP4.
A Zend patrocina alguns desenvolvedores para
contribuir ativamente, enquanto o principal de
desenvolvimento do Zend Engine hoje vem de
colaboradores para o projeto PHP.
@EdgarSandi
15. Zend Framework é open-source, orientado a
objetos, usado para criar aplicação web eobjetos, usado para criar aplicação web e
escrito em PHP5.
Utiliza padrões MVC, Design Patterns,
Abstração de SGBD e outros.
@EdgarSandi
18. Breve história do PHPBreve história do PHPBreve história do PHPBreve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
19. PHP: HypertextPHP: HypertextPHP: HypertextPHP: Hypertext PreprocessorPreprocessorPreprocessorPreprocessor é uma
linguagem de programação amplamente
utilizada.
Foi originalmente projetado para
desenvolvimento web para produzir páginasdesenvolvimento web para produzir páginas
web dinâmicas .
Criada em 1995, hoje em sua versão 5.x
conta com a Zend Engine 2.0 em seu núcleo e
trás um novo modelo de Objeto assim como
dezenas de novas funcionalidades.
@EdgarSandi
20. Breve história do PHP
Características do PHPCaracterísticas do PHPCaracterísticas do PHPCaracterísticas do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
21. Velocidade e robustez
Programação estruturada e Orientada a
Objetos
Portabilidade – independência da plataforma
- (WORA - write once, run anywhere)- (WORA - write once, run anywhere)
Tipagem fraca
Sintaxe similar ao C/C++ e ao PERL
Curva de aprendizagem curta
Seu uso é principalmente como Server-side
@EdgarSandi
22. PHP pode ser usado de três formas:
◦ Server-side scripting
◦ Command-line scripting
◦ Client-side GUI applications
@EdgarSandi
23. Suporte aos protocolos IMAP, POP3, SNMP,
FTP e NNTP
Suporte ao padrão XML (SAX, DOM, XSLT)
Suporte ao .NET
Funções para a geração de documentos emFunções para a geração de documentos em
PDF
Funções LDAP
Funções para Shockwave Flash
Suporte a CORBA para objetos distribuídos
@EdgarSandi
24. Breve história do PHP
Características do PHP
Vantagens do PHPVantagens do PHPVantagens do PHPVantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
26. Liberdade de escolha
Geração de imagens, gráficos e animações
Flash criados dinamicamente, on-the-fly.
@EdgarSandi
27. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3Novidades da versão 5.3Novidades da versão 5.3Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
28. Namespace
Lambdas e closure
Phar – PHP Arquiver
Late StaticBinding
GC (Garbage Colector)GC (Garbage Colector)
Mysqlnd – MySQL Native Driver e
Outras melhorias
@EdgarSandi
29. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHPFuncionalidades do PHPFuncionalidades do PHPFuncionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
31. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHPMitos sobre o PHPMitos sobre o PHPMitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
32. O PHP é lento
O PHP é inseguro
O PHP é difícil de integrar
Existem poucas ferramentas
O PHP é uma linguagem imatura
O PHP foi feito para sites pessoaisO PHP foi feito para sites pessoais
A migração para novas versões é difícil
O PHP não possui Orientação a Objetos
O PHP incentiva a produção de código sujo
O PHP não suporta grande número de requisições
O PHP não está pronto para o mercado corporativo
É possível recuperar o código fonte PHP de um site
@EdgarSandi
33. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHPGrandes sites que utilizam o PHPGrandes sites que utilizam o PHPGrandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
36. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
38. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHPFrameworks PHPFrameworks PHPFrameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
40. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
OOOO ZendZendZendZend FrameworkFrameworkFrameworkFramework
Sintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
41. ZendZendZendZend FrameworkFrameworkFrameworkFramework é um framework para
aplicações Web de código aberto, orientado a
objetos e implementado em PHP 5.
O Zend Framework segue o padrão MVC
Suporte a webservicesSuporte a webservices
Segue as boas práticas do desenvolvimento
Diversas implementações de API externas
Implementa diversos Design Patterns
@EdgarSandi
42. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHPSintaxe do PHPSintaxe do PHPSintaxe do PHP
Exemplos de código em PHP
O PDO
@EdgarSandi
43. Iniciando um código em PHP
◦ As maneiras de abrir e fechar um código PHP são:
<? e ?> => (short_open_tag)
<% e %> => (asp_tags)
<?php e ?> => (recomendável)
<script language="php"> => (pouco utilizado)
Separador de instruções
◦ Entre cada instrução em PHP é preciso utilizar o
ponto-e-vírgula, assim como em C, Perl e outras
linguagens mais conhecidas.
@EdgarSandi
44. Nomes de variáveis
◦ Toda variável em PHP tem seu nome composto pelo
caracter $ e uma string, que deve iniciar por uma
letra ou o caracter "_".
◦ PHP é case sensitive, ou seja, as variáveis $vivas e
$VIVAS são diferentes.$VIVAS são diferentes.
Comentários
◦ Comentários de uma linha
// ou # inserido no início da linha a ser comentada
◦ Comentários em bloco de linhas
/* inserido no início do bloco de linhas a ser
comentados e ao final inserir o */
@EdgarSandi
45. Comentários PHPDoc
◦ O PHPDoc ou PHPDocumentor foi baseado no
JAVADoc e tem como objetivo padronizar a
documentação de códigos PHP.
◦ A partir da análise do código fonte ele extrai as
tags especiais do PHPDoc iniciadas com @ e gera atags especiais do PHPDoc iniciadas com @ e gera a
documentação do código.
◦ Seu download pode ser feito em phpdoc.org
◦ Sua sintaxe é parecida com a do comentário em
bloco:
/** // inicia com dois asteriscos
@...
*/
@EdgarSandi
46. Olá mundo em PHP:
<?php
echo "Olá Mundo";
?>
@EdgarSandi
47. Atribuindo valores a variáveis
<?php
$mensagem = "Atribuindo um valor no
PHP";
echo $mensagem;echo $mensagem;
// Comentário de uma linha
# Este comentario também é de uma
linha
/* Este é um comentário de bloco
de linhas */
?>
@EdgarSandi
48. Tipos de dados suportados no PHP
O PHP suporta oito tipos primitivos.
◦ São quatro tipos básicos:
boolean, integer, float e string
◦ Dois tipos compostos:◦ Dois tipos compostos:
array e object
◦ E finalmente dois tipos especiais:
Resource
NULL
@EdgarSandi
49. Inicialização de variáveis no PHP
Valores padrões de variáveis não inicializadas
◦ Padrão de booleanos é FALSE;FALSE;FALSE;FALSE;
◦ Inteiros e ponto-flutuantes é zero;
◦ Strings são definidas como uma string vazia e◦ Strings são definidas como uma string vazia e
◦ Arrays tornam-se um array vazio.
@EdgarSandi
50. Manipulação de tipos no PHP
◦ O PHP não requer (ou suporta) a definição de tipo
explícita na declaração de variáveis: o tipo de uma
variável é determinado pelo contexto em que a
variável é utilizada.
Ex.:Ex.: $a = 2; // $a é inteiro
$a = "PHP"; // $a é string
$a = true; // $a é booleano
$a = 2 + "1PHP"; // $a é inteiro
@EdgarSandi
51. Conversão de tipos no PHP (Type casting)
◦ A conversão de tipos no PHP funciona como no C: o
nome de um tipo desejado é escrito entre parênteses
antes da variável em que se deseja a moldagem.
◦ Ex.: $a = 5; // $a é inteiro
$a = (boolean) $a; // $a é booleano$a = (boolean) $a; // $a é booleano
Principais conversões permitidas:
◦ (int), (integer) – converte para inteiro
◦ (bool), (boolean) - converte para booleano
◦ (float), (double), (real) – converte para número de ponto
flutuante
◦ (string) - converte para string
@EdgarSandi
52. Conversão de tipos no PHP
◦ Nota: Ao invés de adicionar um cast de inteiro para
string, você pode apenas envolver a variável com
aspas duplas ""
◦ Ex.: $a = 5; // $a é inteiro
$a = "$a"; // $a é string
@EdgarSandi
53. Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ Escopo local
$a = 1;
include 'b.inc';
◦ Escopo local da função◦ Escopo local da função
$a = 1; /* escopo global */
function teste() {
echo $a; /* referencia uma variável do
escopo local (não definida) */
}
teste();
Saída: VAZIO
@EdgarSandi
54. Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ A palavra chave global
$a = 1;
$b = 2;
function soma() {function soma() {
global $a, $b;
$b = $a + $b;
}
soma();
echo $b;
Saída: 3
@EdgarSandi
55. Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ Usando $GLOBALS no lugar de global
$a = 1;
$b = 2;
function soma () {
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
soma();
echo $b;
Saída: 3
@EdgarSandi
59. Constantes no PHP
// Nomes de constantes válidos
define("FOO", "alguma coisa");
define("FOO2", "alguma outra coisa");
define("FOO_BAR", "alguma coisa mais");define("FOO_BAR", "alguma coisa mais");
// Nomes de constantes inválidas
define("2FOO", "alguma coisa");
@EdgarSandi
60. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHPExemplos de código em PHPExemplos de código em PHPExemplos de código em PHP
O PDO
@EdgarSandi
62. As várias formas de exibir o valor de uma
variável:
<?php
$var = 'Mundo PHP';
// maneira menos eficiente
echo "Olá $var!";echo "Olá $var!";
// maneira mais eficiente
echo 'Olá ' . $var . '!';
// maneira muito eficiente
echo 'Olá ', $var, '!';
?>
Saída: Olá Mundo PHP
@EdgarSandi
64. Outro exemplo de tipagem dinâmica no PHP
<?php
if (('1 galinha' + '2 pardais') == '3 aves') {
echo 'São iguais!!!';
} else {} else {
echo 'Isso é loucura!';
}
?>
Saída: ????
@EdgarSandi
65. Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o PHP
Grandes sites que utilizam o PHP
Empresas que apóiam o PHPEmpresas que apóiam o PHP
Frameworks PHP
O Zend Framework
Sintaxe do PHP
Exemplos de código em PHP
O PDOO PDOO PDOO PDO
@EdgarSandi
66. PDO é uma extensão do PHP utilizada
para a abstração do acesso ao SGBD.
@EdgarSandi
67. Abstração do acesso a diversos
bancos de dados
Segurança
Orientado a objetosOrientado a objetos
Expansível
@EdgarSandi
68. PDO
◦ Representa a conexão
PDOStatementPDOStatement
◦ Representa um comando preparado e um
result set associado
PDOException
◦ Lança uma exceção do banco de dados
@EdgarSandi
70. Resumo
◦ As consultas são compiladas uma vez no
nível do servidor e em seguida os
parâmetros são passados
BenefíciosBenefícios
◦ Maior desempenho
◦ Maior segurança
◦ Mais portátil
@EdgarSandi
71. O PDO tem suporte a transações
◦ $conn->beginTransaction();
◦ $conn->commit();
◦ $conn->rollBack();◦ $conn->rollBack();
◦ $conn = null;
@EdgarSandi
72. Uma forma rápida de se recuperar os
dados de uma consulta:
foreach($conn->query("SELECT * FROM users") as $row){
// código
}}
@EdgarSandi
73. Retornando uma lista de usuários:
try {
$conn = new PDO("mysql:host=$host;dbname=$db",
$user,$pass);
$result = $conn->query('SELECT * FROM users');$result = $conn->query('SELECT * FROM users');
} catch (PDOException $e) {
echo $e->getMessage();
return false;
}
return $result;
@EdgarSandi
74. Código poderoso.
Classes “Model” e Classes “Controller”.
Diminuir quantidade de código PHP
“misturado” entre tags HTML.
Implementação e uso de Design Patterns.Implementação e uso de Design Patterns.
@EdgarSandi
75. Esta apresentação será disponibilizada por
link através do perfil @EdgarSandi
@EdgarSandi
76. Obrigado!
How to Follow: @GrupoSeason, @EdgarSandi,
@Zend, @phpbrasil, @phpsp, @Globalcode
Contato pessoal:
◦ edgar.cbbrasil@gmail.com
◦ @EdgarSandi
@EdgarSandi