SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP
Edgar Rodrigues Sandi
@EdgarSandi@EdgarSandi
edgar@season.com.br
@EdgarSandi
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
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
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
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
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
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
Produtos oferecidos:
◦ Zend Server e Zend Server CE,◦ Zend Server e Zend Server CE,
◦ Zend Studio,
◦ Zend Guard e
◦ Zend Cloud Platform.
@EdgarSandi
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
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
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
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
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 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
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
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 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
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
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
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
PHP pode ser usado de três formas:
◦ Server-side scripting
◦ Command-line scripting
◦ Client-side GUI applications
@EdgarSandi
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
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
Multi-plataforma
Diversos servidores rodam o PHP
Interage com uma grande quantidade de
banco de dados
Open-sourceOpen-source
@EdgarSandi
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 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
Namespace
Lambdas e closure
Phar – PHP Arquiver
Late StaticBinding
GC (Garbage Colector)GC (Garbage Colector)
Mysqlnd – MySQL Native Driver e
Outras melhorias
@EdgarSandi
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
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
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
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
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
@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 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
@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 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
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 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
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
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
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
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
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
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ário de uma linha
# Este comentario também é de uma
linha
/* Este é um comentário de bloco
de linhas */
?>
@EdgarSandi
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
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
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
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
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
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
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
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
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 ...
@EdgarSandi
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
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
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
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!";echo "Olá $var!";
// maneira mais eficiente
echo 'Olá ' . $var . '!';
// maneira muito eficiente
echo 'Olá ', $var, '!';
?>
Saída: Olá Mundo PHP
@EdgarSandi
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 {} else {
echo 'Isso é loucura!';
}
?>
Saída: ????
@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 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
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
PDOException
◦ Lança uma exceção do banco de dados
@EdgarSandi
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ícios
◦ Maior desempenho
◦ Maior segurança
◦ Mais portátil
@EdgarSandi
O PDO tem suporte a transações
◦ $conn->beginTransaction();
◦ $conn->commit();
◦ $conn->rollBack();◦ $conn->rollBack();
◦ $conn = null;
@EdgarSandi
Uma forma rápida de se recuperar os
dados de uma consulta:
foreach($conn->query("SELECT * FROM users") as $row){
// código
}}
@EdgarSandi
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
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
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.cbbrasil@gmail.com
◦ @EdgarSandi
@EdgarSandi

Mais conteúdo relacionado

Mais procurados

Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryFabricio Nogueira
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOFernando Rizzato
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoFernando Rizzato
 
Introdução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonIntrodução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonSwellington Santos
 
8 motivos-para-usar-o-yii2
8 motivos-para-usar-o-yii28 motivos-para-usar-o-yii2
8 motivos-para-usar-o-yii2Renato Lucena
 
Palestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIPalestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIFlávio Lisboa
 

Mais procurados (8)

Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQuery
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIO
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero Gratuíto
 
Introdução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonIntrodução ao Visuino por Swellington
Introdução ao Visuino por Swellington
 
Webservices
WebservicesWebservices
Webservices
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
8 motivos-para-usar-o-yii2
8 motivos-para-usar-o-yii28 motivos-para-usar-o-yii2
8 motivos-para-usar-o-yii2
 
Palestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIPalestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLI
 

Semelhante a Introducao ao PHP @edgarsandi

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDomingos Teruel
 
WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"Hélio Costa e Silva
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
Framework PHP Zend e MVC
Framework PHP Zend e MVCFramework PHP Zend e MVC
Framework PHP Zend e MVCEduardo Greco
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFlávio Lisboa
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 

Semelhante a Introducao ao PHP @edgarsandi (20)

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Palestra Zend Framework no Governo Federal
Palestra Zend Framework  no Governo FederalPalestra Zend Framework  no Governo Federal
Palestra Zend Framework no Governo Federal
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
 
WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"
 
PHP Moderno
PHP ModernoPHP Moderno
PHP Moderno
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
Framework PHP Zend e MVC
Framework PHP Zend e MVCFramework PHP Zend e MVC
Framework PHP Zend e MVC
 
MVC & Zend Framework
MVC & Zend FrameworkMVC & Zend Framework
MVC & Zend Framework
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
Panorama PHP
Panorama PHPPanorama PHP
Panorama PHP
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
WP Composer
WP ComposerWP Composer
WP Composer
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
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
  • 13. Projetos patrocinados ◦ Zend Engine,◦ Zend Engine, ◦ Zend Framework, ◦ Eventos e outros @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
  • 17. Introdução ao PHPIntrodução ao PHPIntrodução ao PHPIntrodução ao PHP @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
  • 25. Multi-plataforma Diversos servidores rodam o PHP Interage com uma grande quantidade de banco de dados Open-sourceOpen-source @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
  • 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. 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
  • 56. Utilizando variáveis estáticas function teste (){ $a = 0; echo $a; $a++;$a++; } teste(); teste(); Saídas: 0 0 @EdgarSandi
  • 57. Utilizando variáveis estáticas function teste (){ static $a = 0; echo $a; $a++;$a++; } teste(); teste(); ... Saídas: 0 1 ... @EdgarSandi
  • 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. 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
  • 61. A programação estruturada <?php $a = 2; // inteiro $b = 5; // inteiro echo $a + $b; // inteiro ?> Saída: 7 @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
  • 63. A tipagem dinâmica <?php $a = 2; // inteiro $b = "10abc"; // string echo $a + $b; // inteiro ?> Saída: 12 @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
  • 69. MySQL PostgreSQL Microsoft SQL Server/Sybase IBM DB2 OracleOracle Informix Firebird ODBC SQLite @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