Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP
Edgar Rodrigues Sandi
@EdgarSandi@EdgarSandi
edgar@se...
Gerente de projetos
Utiliza principalmente as linguagens PHP e Java
para desenvolvimento
Ministra os treinamentos:
◦ Lingu...
Quem é a Season Treinamentos?Season Treinamentos?Season Treinamentos?Season Treinamentos?
A Season TreinamentosSeason Trei...
Treinamentos oficiais:
◦ PHP I – Fundamentos◦ PHP I – Fundamentos
◦ PHP II – Estruturas Superiores
Próximos treinamentos o...
Treinamentos oficiais em São Paulo:
PHP I - Fundamentos PHP II – Estruturas Superiores
@EdgarSandi
PHP I - Fundamentos
Tre...
Próximos minicursos em São Paulo:
Recursos avançados / Orientação a Objetos
@EdgarSandi
Carga Horária dos minicursos
3 hor...
Quem é ZendZendZendZend Technologies?Technologies?Technologies?Technologies?
◦ ZendZendZendZend é uma empresa norte-americ...
Produtos oferecidos:
◦ Zend Server e Zend Server CE,◦ Zend Server e Zend Server CE,
◦ Zend Studio,
◦ Zend Guard e
◦ Zend C...
Zend Server é um servidor de aplicação WEB
completo e pronto para organizações rodar ecompleto e pronto para organizações ...
Zend Studio é um IDE (Integrated
Development Environment) profissional paraDevelopment Environment) profissional para
PHP....
O Zend Guard é a solução mais completa para
proteger e distribuir aplicações PHP.
Combina uma excelente proteção do código...
O Zend Cloud Plataform inclui todos os
componentes necessários para o êxito docomponentes necessários para o êxito do
dese...
Projetos patrocinados
◦ Zend Engine,◦ Zend Engine,
◦ Zend Framework,
◦ Eventos e outros
@EdgarSandi
Zend Engine é o coração do PHP, originalmente
escrito por Andi Gutmans e Zeev Suraski.
A primeira versão da Zend Engine fo...
Zend Framework é open-source, orientado a
objetos, usado para criar aplicação web eobjetos, usado para criar aplicação web...
Alguns eventos patrocinados
@EdgarSandi
Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP
@EdgarSandi
Breve história do PHPBreve história do PHPBreve história do PHPBreve história do PHP
Características do PHP
Vantagens do P...
PHP: HypertextPHP: HypertextPHP: HypertextPHP: Hypertext PreprocessorPreprocessorPreprocessorPreprocessor é uma
linguagem ...
Breve história do PHP
Características do PHPCaracterísticas do PHPCaracterísticas do PHPCaracterísticas do PHP
Vantagens d...
Velocidade e robustez
Programação estruturada e Orientada a
Objetos
Portabilidade – independência da plataforma
- (WORA - ...
PHP pode ser usado de três formas:
◦ Server-side scripting
◦ Command-line scripting
◦ Client-side GUI applications
@EdgarS...
Suporte aos protocolos IMAP, POP3, SNMP,
FTP e NNTP
Suporte ao padrão XML (SAX, DOM, XSLT)
Suporte ao .NET
Funções para a ...
Breve história do PHP
Características do PHP
Vantagens do PHPVantagens do PHPVantagens do PHPVantagens do PHP
Novidades da...
Multi-plataforma
Diversos servidores rodam o PHP
Interage com uma grande quantidade de
banco de dados
Open-sourceOpen-sour...
Liberdade de escolha
Geração de imagens, gráficos e animações
Flash criados dinamicamente, on-the-fly.
@EdgarSandi
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3Novidades da versão 5.3Novidades da v...
Namespace
Lambdas e closure
Phar – PHP Arquiver
Late StaticBinding
GC (Garbage Colector)GC (Garbage Colector)
Mysqlnd – My...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHPFuncionalidade...
Orientação a objetos
Sessões
PDO
Funções internas
Suporte a Internacionalização i18nSuporte a Internacionalização i18n
Sup...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
O PHP é lento
O PHP é inseguro
O PHP é difícil de integrar
Existem poucas ferramentas
O PHP é uma linguagem imatura
O PHP ...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
@EdgarSandiFonte: Google
@EdgarSandiFonte: Google
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
@EdgarSandiFonte: Zend.com
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
Yii
Codeigniter
Zend
CakePHP
SymphonySymphony
PHPDevShell
Prado
Akelos
Zoop
QPHP
@EdgarSandi
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
ZendZendZendZend FrameworkFrameworkFrameworkFramework é um framework para
aplicações Web de código aberto, orientado a
obj...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
Iniciando um código em PHP
◦ As maneiras de abrir e fechar um código PHP são:
<? e ?> => (short_open_tag)
<% e %> => (asp_...
Nomes de variáveis
◦ Toda variável em PHP tem seu nome composto pelo
caracter $ e uma string, que deve iniciar por uma
let...
Comentários PHPDoc
◦ O PHPDoc ou PHPDocumentor foi baseado no
JAVADoc e tem como objetivo padronizar a
documentação de cód...
Olá mundo em PHP:
<?php
echo "Olá Mundo";
?>
@EdgarSandi
Atribuindo valores a variáveis
<?php
$mensagem = "Atribuindo um valor no
PHP";
echo $mensagem;echo $mensagem;
// Comentári...
Tipos de dados suportados no PHP
O PHP suporta oito tipos primitivos.
◦ São quatro tipos básicos:
boolean, integer, float ...
Inicialização de variáveis no PHP
Valores padrões de variáveis não inicializadas
◦ Padrão de booleanos é FALSE;FALSE;FALSE...
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 ti...
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 é es...
Conversão de tipos no PHP
◦ Nota: Ao invés de adicionar um cast de inteiro para
string, você pode apenas envolver a variáv...
Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ Escopo local
$a...
Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ A palavra chave...
Escopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHPEscopo de variáveis no PHP
◦ Usando $GLOBALS...
Utilizando variáveis estáticas
function teste (){
$a = 0;
echo $a;
$a++;$a++;
}
teste();
teste();
Saídas: 0
0
@EdgarSandi
Utilizando variáveis estáticas
function teste (){
static $a = 0;
echo $a;
$a++;$a++;
}
teste();
teste(); ...
Saídas: 0
1 ....
Declarando variáveis static
function foo(){
static $int = 0; // correto
static $int = 1 + 2; // errado (é uma
expressão)
s...
Constantes no PHP
// Nomes de constantes válidos
define("FOO", "alguma coisa");
define("FOO2", "alguma outra coisa");
defi...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
A programação estruturada
<?php
$a = 2; // inteiro
$b = 5; // inteiro
echo $a + $b; // inteiro
?>
Saída: 7
@EdgarSandi
As várias formas de exibir o valor de uma
variável:
<?php
$var = 'Mundo PHP';
// maneira menos eficiente
echo "Olá $var!";...
A tipagem dinâmica
<?php
$a = 2; // inteiro
$b = "10abc"; // string
echo $a + $b; // inteiro
?>
Saída: 12
@EdgarSandi
Outro exemplo de tipagem dinâmica no PHP
<?php
if (('1 galinha' + '2 pardais') == '3 aves') {
echo 'São iguais!!!';
} else...
Breve história do PHP
Características do PHP
Vantagens do PHP
Novidades da versão 5.3
Funcionalidades do PHP
Mitos sobre o...
PDO é uma extensão do PHP utilizada
para a abstração do acesso ao SGBD.
@EdgarSandi
Abstração do acesso a diversos
bancos de dados
Segurança
Orientado a objetosOrientado a objetos
Expansível
@EdgarSandi
PDO
◦ Representa a conexão
PDOStatementPDOStatement
◦ Representa um comando preparado e um
result set associado
PDOExcepti...
MySQL
PostgreSQL
Microsoft SQL Server/Sybase
IBM DB2
OracleOracle
Informix
Firebird
ODBC
SQLite
@EdgarSandi
Resumo
◦ As consultas são compiladas uma vez no
nível do servidor e em seguida os
parâmetros são passados
BenefíciosBenefí...
O PDO tem suporte a transações
◦ $conn->beginTransaction();
◦ $conn->commit();
◦ $conn->rollBack();◦ $conn->rollBack();
◦ ...
Uma forma rápida de se recuperar os
dados de uma consulta:
foreach($conn->query("SELECT * FROM users") as $row){
// código...
Retornando uma lista de usuários:
try {
$conn = new PDO("mysql:host=$host;dbname=$db",
$user,$pass);
$result = $conn->quer...
Código poderoso.
Classes “Model” e Classes “Controller”.
Diminuir quantidade de código PHP
“misturado” entre tags HTML.
Im...
Esta apresentação será disponibilizada por
link através do perfil @EdgarSandi
@EdgarSandi
Obrigado!
How to Follow: @GrupoSeason, @EdgarSandi,
@Zend, @phpbrasil, @phpsp, @Globalcode
Contato pessoal:
◦ edgar.cbbras...
Próximos SlideShares
Carregando em…5
×

Introducao ao PHP @edgarsandi

394 visualizações

Publicada em

Slides da palestra Introdução ao PHP

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
394
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
14
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introducao ao PHP @edgarsandi

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  13. 13. Projetos patrocinados ◦ Zend Engine,◦ Zend Engine, ◦ Zend Framework, ◦ Eventos e outros @EdgarSandi
  14. 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. 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
  16. 16. Alguns eventos patrocinados @EdgarSandi
  17. 17. Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP @EdgarSandi
  18. 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. 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. 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. 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. 22. PHP pode ser usado de três formas: ◦ Server-side scripting ◦ Command-line scripting ◦ Client-side GUI applications @EdgarSandi
  23. 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. 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
  25. 25. Multi-plataforma Diversos servidores rodam o PHP Interage com uma grande quantidade de banco de dados Open-sourceOpen-source @EdgarSandi
  26. 26. Liberdade de escolha Geração de imagens, gráficos e animações Flash criados dinamicamente, on-the-fly. @EdgarSandi
  27. 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. 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. 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
  30. 30. Orientação a objetos Sessões PDO Funções internas Suporte a Internacionalização i18nSuporte a Internacionalização i18n Suporte a Localização l10n @EdgarSandi
  31. 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. 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. 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
  34. 34. @EdgarSandiFonte: Google
  35. 35. @EdgarSandiFonte: Google
  36. 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
  37. 37. @EdgarSandiFonte: Zend.com
  38. 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
  39. 39. Yii Codeigniter Zend CakePHP SymphonySymphony PHPDevShell Prado Akelos Zoop QPHP @EdgarSandi
  40. 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. 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. 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. 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. 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. 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. 46. Olá mundo em PHP: <?php echo "Olá Mundo"; ?> @EdgarSandi
  47. 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. 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. 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. 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. 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. 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. 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. 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. 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
  56. 56. Utilizando variáveis estáticas function teste (){ $a = 0; echo $a; $a++;$a++; } teste(); teste(); Saídas: 0 0 @EdgarSandi
  57. 57. Utilizando variáveis estáticas function teste (){ static $a = 0; echo $a; $a++;$a++; } teste(); teste(); ... Saídas: 0 1 ... @EdgarSandi
  58. 58. Declarando variáveis static function foo(){ static $int = 0; // correto static $int = 1 + 2; // errado (é uma expressão) static $int = sqrt(121); // errado (é umastatic $int = sqrt(121); // errado (é uma expressão) $int++; echo $int; } foo(); Saída: 1 @EdgarSandi
  59. 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. 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
  61. 61. A programação estruturada <?php $a = 2; // inteiro $b = 5; // inteiro echo $a + $b; // inteiro ?> Saída: 7 @EdgarSandi
  62. 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
  63. 63. A tipagem dinâmica <?php $a = 2; // inteiro $b = "10abc"; // string echo $a + $b; // inteiro ?> Saída: 12 @EdgarSandi
  64. 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. 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. 66. PDO é uma extensão do PHP utilizada para a abstração do acesso ao SGBD. @EdgarSandi
  67. 67. Abstração do acesso a diversos bancos de dados Segurança Orientado a objetosOrientado a objetos Expansível @EdgarSandi
  68. 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
  69. 69. MySQL PostgreSQL Microsoft SQL Server/Sybase IBM DB2 OracleOracle Informix Firebird ODBC SQLite @EdgarSandi
  70. 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. 71. O PDO tem suporte a transações ◦ $conn->beginTransaction(); ◦ $conn->commit(); ◦ $conn->rollBack();◦ $conn->rollBack(); ◦ $conn = null; @EdgarSandi
  72. 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. 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. 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. 75. Esta apresentação será disponibilizada por link através do perfil @EdgarSandi @EdgarSandi
  76. 76. Obrigado! How to Follow: @GrupoSeason, @EdgarSandi, @Zend, @phpbrasil, @phpsp, @Globalcode Contato pessoal: ◦ edgar.cbbrasil@gmail.com ◦ @EdgarSandi @EdgarSandi

×