SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Bacharel em Ciência da Computação (UFG)
Especializando em Engenharia de Software
Analista de Sistemas – SIGMA / MDIC
Professor Formador EAD – NEAD/ETEB
george@georgemendonca.com.br
http://www.georgemendonca.com.br
Introdução
Conteúdo Programático
26/03/2011 2
• O que é PHP?
– PHP: Hypertext Preprocessor
– PHP é uma linguagem de script do lado servidor
– Scripts PHP são executados no servidor
– PHP suporta várias bases de dados (MySQL, Informix,
Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc)
– PHP é um software open source (código aberto)
– PHP é gratuito para baixar e utilizar.
Introdução
26/03/2011 3
• O que arquivos PHP podem fazer?
– Arquivos PHP podem conter texto, tags HTML e scripts.
– Arquivos PHP são retornados para o navegador como
HTML simples.
– Arquivos PHP tem extensões de arquivo ".php", ".php3",
ou ".phtml“.
Introdução
26/03/2011 4
• A história do PHP
– PHP/FI (Personal Home Page / Forms Interpreter): foi criado
por Rasmus Lerdorf em 1995 (Pearl).
– Em 1997, PHP/FI 2.0, a segunda versão da implementação em
C.
– PHP 3: totoalmente reescrito em 1997, assemelha ao PHP de
hoje. Criado por And Gutmans e Zeev Suraski. Juntamente
com Rasmus, lançaram esta versão em junho de 1998.
– PHP 4: Zend Engine, mais robusta, profissional, novas
características, banco de dados, sessões, etc.
– PHP 5: Zend Engine 2, lançado em junho de 2004, novo
modelo de Orientação a Objetos, novas características.
Introdução
26/03/2011 5
• Características do PHP
– Velocidade e robustez
– Estruturado
– Suporte a Orientação a Objetos
– Portabilidade – Independência de plataforma - "write once
run anywhere" (escreva uma vez, rode em qualquer lugar);
– Tipagem Fraca
– Sintaxe similar a Linguagem C/C++ e o PERL
– Curva de aprendizado reduzida
– Documentação oficial em português
Introdução
26/03/2011 6
• Características do PHP
– Foi criado do zero para a internet em vez de ser a adaptação
de uma tecnologia anterior
– Grande quantidade de módulos, bibliotecas prontas e
frameworks disponíveis
– Flexibilidade para desenvolver códigos em outras linguagens.
Introdução
26/03/2011 7
• O que PHP pode fazer?
– Qualquer coisa que um script CGI faz e muit mais!
• Script no lado do servidor (server-side scripts)
– Este é o mais tradicional e principal campo de atuação do PHP
• Script de linha de comando.
– CLI – Command Line Interface
• Escrever aplicações desktop.
– PHP-GTK
Introdução
26/03/2011 8
• O que você precisa para começar?
– Ter acesso a um servidor Web com suporte PHP.
– Você pode:
• Instalar o servidor web Apache (ou IIS) em seu próprio servidor,
instalar o PHP e o banco de dados MySQL, ou outro banco de sua
preferência.
• Ou executar um instalador e configurador de um ambiente Web para
PHP como o WAMP, LAMP, XAMP ou o Zend Server CE.
• Ou encontrar um plano de hospedagem web com suporte a PHP e
Banco de Dados.
Introdução
26/03/2011 9
• Apache HTTP Server
– Servidor HTTP (HyperText Transfer Protocol).
– É a principal tecnologia da Apache Software Foundation,
responsável por mais de uma dezena de projetos envolvendo
tecnologias de transmissão via web, processamento de dados
e execução de aplicativos distribuídos.
Introdução
26/03/2011 10
• Apache HTTP Server
– Mais bem sucedido servidor web livre
– Numa pesquisa realizada em Agosto de 2010 (Pesquisa
realizada pelo site Netcraft) foi constatado que a utilização do
Apache representa 56% dos servidores ativos no mundo.
– Software de licença livre e código aberto.
Introdução
26/03/2011 11
• Apache HTTP Server
– Criado para atender às demandas dos maiores provedores e
sites web.
– Não tem concorrentes quanto à riqueza de recursos,
estabilidade, performance, etc.
Introdução
26/03/2011 12
• Apache HTTP Server
– Total de sites em todos os domínios de Agosto de 1995 a
Agosto de 2010.
Introdução
26/03/2011 13
• Apache HTTP Server
– Quota de mercado para os principais servidores em todos os
domínios de Agosto de 1995 - agosto 2010.
Introdução
26/03/2011 14
• Apache HTTP Server
– Links oficiais:
• The Apache Software Foundation
• Apache - HTTP Server Project
Introdução
26/03/2011 15
• O lado Cliente
– Onde são processadas as diversas formas de interação
entre o usuário e o sistema.
– Solicitam serviços para efetivar a interação entre usuário e
sistema.
– Navegador: Fire Fox, IE, Opera, etc.
• Responsável por mostrar o conteúdo recebido do servidor.
• JavaScript, Cookies, HTML, CSS, imagens, etc.
Arquitetura Cliente Servidor
26/03/2011 16
• O lado Servidor
– Estação onde estão sendo executados os aplicativos aos
quais os acessos são feitos.
– Oferecem serviços especializados aos seus requisitantes.
– Repositório de regras de negócios do software web.
– Servidor Web, Servidor de Arquivos, Servidor de E-mail,
Servidor de Banco de Dados.
Arquitetura Cliente Servidor
26/03/2011 17
Arquitetura Cliente Servidor
26/03/2011
18
Usuário
Servidor Web
Aplicação
WAN
MAN
LAN
Apache Banco
de
Dados
PHP
Cliente
(browser)
MySQL
PgSQL
OracleAtivo
Passivo
Internet
• Aplicações Web:
– Blog
– Webmail
– E-comerce
– Portais Corporativos, Colaborativos, do Conhecimento, etc
– Intranet's corporativas
– Extranet's
– CMS's (Content Management Systems)
– Workflow/Groupware
Aplicações Web com PHP
26/03/2011 19
• Aplicações Web:
– Sistemas de Informação
– ERP's (Enterprise Resource Planning)
– Redes sociais: Orkut, Facebook, Linded In, Twitter, etc.
• Stand Alone:
– PHP GTK (aplicações desktop)
• Alguém pode dar mais exemplos?
Aplicações Web com PHP
26/03/2011 20
 Como fazer o download do PHP?
 http://www.php.net/downloads.php
 Como instalar o PHP?
 http://www.php.net/manual/en/install.php
 Como fazer o download do servidor web Apache?
 http://httpd.apache.org/download.cgi
Informações importantes sobre PHP
26/03/2011 21
• O primeiro script
Iniciando com PHP
26/03/2011 22
<html>
<head>
<title>Primeiro Script PHP</title>
</head>
<body>
<?php echo "Primeiro Script em PHP"; ?>
</body>
</html>
Código HTML
Código PHP
• Tags PHP
Iniciando com PHP
26/03/2011 23
// Tag padrão
<?php echo "Primeiro Script em PHP"; ?>
// Short open tags
<script language=“php”>
echo "Primeiro Script em PHP";
</script>
<? echo "Primeiro Script em PHP"; ?>
<% echo "Primeiro Script em PHP"; %>
• Case Sentitive
– Faz distinção entre maiúsculas e minúsculas
• Instruções terminadas por “;”
• Comentários
Iniciando com PHP
26/03/2011 24
// Uma linha
# Uma linha
/* Mais de uma
linha */
• Comentários PHP DOC
Iniciando com PHP
26/03/2011 25
/**
* Comentário para PHP DOC
* @author George Henrique
* @example Aula
* @copyright www.georgemendonca.com.br
* @version 1.0
*
*/
• Variáveis
– É um rótulo que identifica um repositório de dados (local
de armazenamento na memória).
– Faz referência a um tipo de dado específico, isto é, a um
número, a uma letra (caractere), a uma sequência de letras
(string), etc.
– Possui um escopo, isto é, uma região do código
(programa) onde é válida ou pode ser utilizada.
Iniciando com PHP
26/03/2011 26
• Variáveis
– Seu uso se dá em dois momentos:
• Declaração
• Utilização propriamente dita (leitura ou escrita)
– São representadas por $, seguidas pelo nome da variável.
Iniciando com PHP
26/03/2011 27
• Variáveis
– Atribuídas com o sinal de =
• Variável no lado esquerdo, valor no lado direito
– Não precisam ser declaradas ou inicializadas. Exemplo:
– Atenção: se não for inicializada o valor atribuído será NULO
Iniciando com PHP
26/03/2011 28
<?php $nome = "George Henrique"; ?>
• Tipos de Variáveis
– O PHP suporta os oitos tipos primitivos.
– São quatros tipos básicos:
• boolean (valor verdade, TRUE ou FALSE)
• integer (conjunto Z = {..., -2, -1, 0, 1, 2, ...})
• float (número de ponto flutuante, ou também double)
• string (série de caracteres)
Iniciando com PHP
26/03/2011 29
• Tipos de Variáveis
– Dois tipos compostos:
• Array (mapa ordenado)
• Object (objeto de uma classe)
– E finalmente dois tipos especiais:
• Resource (referência a um recurso externo)
• NULL (variável sem valor ou não definida)
Iniciando com PHP
26/03/2011 30
• Tipos de Variáveis
– O manual também introduz alguns pseudo-tipos por razões
de legibilidade:
• mixed (indica que um parâmetro pode receber mais de um tipo)
• number (indica que um parâmetro pode ser integer ou float)
• callback (chamada de funções definidas como parâmetro)
– E a pseudo-variável $this. Utilizada para referenciar um
objeto de uma classe.
Iniciando com PHP
26/03/2011 31
• Tipos de Variáveis
Iniciando com PHP
26/03/2011 32
<?php
$bool = TRUE; // um booleano
$str = "foo"; // uma string
$int = 12; // um inteiro
$double = 1.2; // ponto flutuante
echo gettype($bool)." <br />"; // imprime "boolean"
echo gettype($str)." <br />"; // imprime "string"
echo gettype($double)." <br />"; // imprime "double"
// Se é um inteiro, incrementa em quatro
if (is_int($int)) {
echo $int += 4;
}
// Se for string, imprime conteúdo, caso contrário não faz nada
if (is_string($bool)) {
echo "String: $bool";
}
Saída:
boolean
string
double
16
• Variáveis variáveis
– Utilizado quando se necessita de criar variáveis e utilizá-las
dinamicamente:
Iniciando com PHP
26/03/2011 33
<?php
$variavel_comum = "variavel_dinamica";
$$variavel_comum = "conteúdo da variável dinâmica";
echo $variavel_comum." <br />";
echo $$variavel_comum." <br />";
echo $variavel_dinamica;
Saída:
variavel_dinamica
conteúdo da variável
dinâmica
• Funções úteis mostrar informações sobre variáveis:
– var_dump($var)
• Mostra informações sobre uma variável.
– var_export($var)
• Representação estruturada de uma variável.
– print_r($var)
• Imprime informações legíveis sobre uma variável.
Iniciando com PHP
26/03/2011 34
<?php
$mensagem = "Para frente e avante!";
var_dump($mensagem);
echo "<br/>";
var_export($mensagem);
echo "<br/>";
print_r($mensagem);
Saída:
string(21) "Para frente e avante!"
'Para frente e avante!'
Para frente e avante!
• Conversão de Tipos
– A conversão de tipos no PHP e possível graças a utilização do
casting:
• (int), (integer) - converte para inteiro
• (bool), (boolean) - converte para booleano
• (float), (double), (real) - converte para número de ponto flutuante
• (string) - converte para string
• (binary) - converte para string binária (PHP 6)
• (array) - converte para array
• (object) - converte para objeto
• (unset) - converte para NULL (PHP 5)
– Veja: Tabelas de comparação de tipo do PHP
–
Iniciando com PHP
26/03/2011 35
• Conversão de Tipos
Iniciando com PHP
26/03/2011 36
<?php
echo "<pre>";
var_dump((bool) "Olá");
var_dump((bool) "");
var_dump((bool) 1);
var_dump((bool) array());
var_dump((int)(3/2));
var_dump((integer) 4.5);
var_dump((int) 7.5);
var_dump(3 + "7.1");
var_dump("10 gatos" + 5);
var_dump((string) 5);
var_dump(array(1,2));
var_dump((object) array(1,2));
Saída:
bool(true)
bool(false)
bool(true)
bool(false)
int(1)
int(4)
int(7)
float(10.1)
int(15)
string(1) "5"
array(2) {
[0]=> int(1)
[1]=> int(2)
}
object(stdClass)#1 (2) {
[0]=> int(1)
[1]=> int(2)
}
• Constantes
– Uma constante é um identificador para um valor simples. É
um valor que não se altera.
– Para definir uma constante, utilizamos a função define(), cuja
sintaxe é:
Iniciando com PHP
26/03/2011 37
<?php
define("NOME", "<VALOR>");
• Funções úteis para constantes:
– defined("NOME_DA_CONSTANTE")
• Verifica a existência de uma constante e se ela foi definida.
– constant("NOME_DA_CONSTANTE")
• Retorna o valor de uma constante. Útil para recuperar constantes
quando não se sabe o nome da constante ou quando é retornada por
uma função.
Iniciando com PHP
26/03/2011 38
• Exemplo usando constantes
Iniciando com PHP
26/03/2011
// Nomes de constantes válidos
define("TITULO_BLOG", "Meu Blog");
define("MSG_CONTEUDO_BLOG", "Seja bem vindo!");
define("MENSAGEM_POPUP_CADASTRO", "Cadastro realizado com
sucesso!");
// Nomes de constantes inválidas
define("2VLR", "constante inválida");
// Isto é válido, mas deve ser evitado:
define("__TITULOMODULO__", "deve-se evitar");
define("RODAPE_BLOG", "© 2010 by George Mendonça. All rights
reserved.");
echo TITULO_BLOG."<br />".
MSG_CONTEUDO_BLOG."<br />".
__TITULOMODULO__."<br />".
MENSAGEM_POPUP_CADASTRO."<br />".
// 2VLR."<br />". (Error)
RODAPE_BLOG;
Saída:
Meu Blog
Seja bem vindo!
deve-se evitar
Cadastro realizado com sucesso!
© 2010 by George Mendonça. All rights reserved.
• Constantes Pré-definidas
– __LINE__ - Retorna a linha atual do arquivo
– __FILE__ - Retorna o caminho com o nome do arquivo
– __DIR__ - Retorna o diretório.
– __FUNCTION__ - Retorna o nome da função atual.
– __CLASS__ - Retorna o nome da classe atual.
– __METHOD__ - Retorna o do método da classe atual.
– __NAMESPACE__ - Retorna o nome atual do namespace.
Iniciando com PHP
26/03/2011 40
• Variáveis Super Globais
– Variáveis nativas que estão sempre disponíveis em todos os
escopos:
• $GLOBALS — Referencia todas variáveis disponíveis no escopo global
• $_SERVER — Informação do servidor e ambiente de execução
• $_GET — HTTP GET variáveis
• $_POST — HTTP POST variáveis
• $_FILES — HTTP File Upload variáveis
• $_REQUEST — Variáveis de requisição HTTP
• $_SESSION — Variáveis de sessão
• $_ENV — Environment variables
• $_COOKIE — HTTP Cookies
Iniciando com PHP
26/03/2011 41
• Variáveis Super Globais
Iniciando com PHP
26/03/2011 42
echo $_SERVER["PHP_SELF"]."<br />";
echo $_SERVER["HTTP_HOST"]."<br />";
$nome = "George Henrique R. E. Mendonça";
echo $GLOBALS['nome']."<br />";
session_start();
$_SESSION['primeiro_nome'] = "George Henrique";
echo $_SESSION['primeiro_nome']."<br />";
echo $_GET["curso"]."<br />"; // Testar via URL: ?curso=PHP5
echo @$_POST["curso"];
Saída:
/aulas-php5.3-oo/02-php/10-variavis-super-globais.php
Localhost
George Henrique R. E. Mendonça
George Henrique
PHP5
• Array
– Arrays em PHP são mapas ordenados de chaves
e valores, ou seja, você pode atribuir a um
elemento do array uma chave e um valor.
Iniciando com PHP
26/03/2011 43
Iniciando com PHP
26/03/2011 44
<?php
$frutas1 = array('banana','maçã','pêra');
$frutas2[] = 'banana';
$frutas2[] = 'maçã';
$frutas2[] = 'pera';
$frutas3 = array (
0 => 'banana',
1 => 'maçã',
2 => 'pêra'
);
$frutas4['frutax'] = 'banana';
$frutas4['frutay'] = 'maçã';
$frutas4['frutaz'] = 'pêra';
echo '<pre>';
print_r($frutas1);
print_r($frutas2);
print_r($frutas3);
print_r($frutas4);
Saída:
Array
(
[0] => banana
[1] => maçã
[2] => pera
)
Array
(
[0] => banana
[1] => maçã
[2] => pera
)
Array
(
[0] => banana
[1] => maçã
[2] => pera
)
Array
(
[frutax] => banana
[frutay] => maçã
[frutaz] => pera
)
Iniciando com PHP
26/03/2011 45
<?php
echo $frutas1[1]; // maçã
echo '<br />';
echo $frutas2[0]; // banana
echo '<br />';
echo $frutas4['frutaz']; // pêra
Saída:
maçã
banana
pêra
• Array
– Acessando os elementos
• Operadores
– Aritméticos:
Iniciando com PHP
26/03/2011 46
+ => ADIÇÃO
- => SUBTRAÇÃO
* => MULTIPLICAÇÃO
/ => DIVISÃO
- oper => TROCA SINAL
++ oper => PRÉ-INCREMENTO
-- oper => PRÉ-DECREMENTO
oper ++ => PÓS-INCREMENTO
oper -- => PÓS-DECREMENTO
• Operadores
– Comparativos
Iniciando com PHP
26/03/2011 47
X == Y => X IGUAL A Y
X >= Y => X MAIOR OU IGUAL A Y
X <= Y => X MENOR OU IGUAL A Y
X != Y => X DIFERENTE DE Y
X <> Y => X DIFERENTE DE Y
X > Y => X MAIOR QUE Y
X < Y => X MENOR QUE Y
• Operadores
– De atribuição
Iniciando com PHP
26/03/2011 48
$num = 5; => Sinal de igualdade
$num += 5; => $num = $num + 5;
$num -= 5; => $num = $num - 5;
$num *= 5; => $num = $num * 5;
$num /= 5; => $num = $num / 5;
$nome .= “aluno”; => $nome = $nome.”aluno”;
$num1 %= $num2; => $num1 = $num1 % $num2;
• Operadores
– Se o recurso track_errors estiver habilitado, qualquer
mensagem de erro gerada pela expressão será gravada na
variável global $php_errormsg. Esta variável será sobrescrita
em cada erro, assim verifique-a constantemente se você
quiser usá-la.
– O PHP suporta um operador de controle de erro: o sinal
'arroba' (@). Quando ele precede uma expressão em PHP,
qualquer mensagem de erro que possa ser gerada por
aquela expressão será ignorada.
– $nome = @$__POST['nome'];
Iniciando com PHP
26/03/2011 49
• Operadores
– O PHP suporta um operador de execução: acentos graves
(``). Note que não são apóstrofes!
– O PHP tentará executar o conteúdo dos acentos graves como
um comando do shell; a saída será retornada (isto é, ela não
será simplesmente descarregada para a saída; ela pode ser
atribuída a uma variável).
– A utilização do operador contra-apóstrofo é idêntica a
função shell_exec().
Iniciando com PHP
26/03/2011 50
$output = `dir`;
echo "<pre>$output</pre>";
• Operadores
– Lógicos
Iniciando com PHP
26/03/2011 51
!X => verdadeiro se X for falso
X AND Y => verdadeiro se X e Y forem verdadeiros
X OR Y => verdadeiro se X ou Y forem verdadeiros
X XOR Y => verdadeiro se apenas um for verdadeiro
X && Y => verdadeiro se X e Y forem verdadeiros
X || Y => verdadeiro se X ou Y forem verdadeiros
• Operadores
– De string
• Há dois operadores de string.
– O primeiro é o operador de concatenação ('.'), que retorna a
concatenação dos seus argumentos direito e esquerdo.
– O segundo é o operador de atribuição de concatenação ('.='), que
acrescenta o argumento do lado direito no argumento do lado esquerdo.
Veja em Operadores de Atribuição para mais informações.
Iniciando com PHP
26/03/2011 52
<?php
$a = "Olá ";
$b = $a . "mundo!"; // agora $b contém "Olá mundo!"
$c = "Olá ";
$c .= "mundo!"; // agora $a contém "Olá mundo!"
echo $a;
• Operadores
– Um exercício simples
• Quais são os valores das variáveis $a, $b, $c, $x, $y e $z após a
execução do seguinte programa?
Iniciando com PHP
26/03/2011 53
<?php
$a = 2;
$b = 4;
$c = 6;
$x = --$c + $b;
$y = $b++ + $a;
$z = $a - $b--;

Contenu connexe

Tendances

Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançado
Thiago Carlos
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
Sérgio Souza Costa
 
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptOficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
Raphael Donaire Albino
 

Tendances (20)

Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançado
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
 
Conceitos básicos PHP
Conceitos básicos PHPConceitos básicos PHP
Conceitos básicos PHP
 
Apresentação php
Apresentação phpApresentação php
Apresentação php
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Php m18
Php m18Php m18
Php m18
 
Guia php
Guia phpGuia php
Guia php
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à Shellscript
 
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptOficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
 
Files e File System PHP (Português)
Files e File System PHP (Português)Files e File System PHP (Português)
Files e File System PHP (Português)
 

Similaire à PHP 5.3 - Introdução

5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
Agrupamento de Escolas da Batalha
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
Carlos Santos
 
Apostila php
Apostila phpApostila php
Apostila php
koldm2
 

Similaire à PHP 5.3 - Introdução (20)

Pho Aula 02
Pho Aula 02Pho Aula 02
Pho Aula 02
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Módulo de php
Módulo de phpMódulo de php
Módulo de php
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
 
Tema 1 | Introdução a PHP
Tema 1 | Introdução a PHPTema 1 | Introdução a PHP
Tema 1 | Introdução a PHP
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 
Artigo de php
Artigo de phpArtigo de php
Artigo de php
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 

Plus de George Mendonça

Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
George Mendonça
 

Plus de George Mendonça (20)

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
 
Software livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboraçãoSoftware livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboração
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio Acadêmico
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
 
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
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
 
FGSL - Batismo Digital
FGSL - Batismo DigitalFGSL - Batismo Digital
FGSL - Batismo Digital
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George Mendonça
 

Dernier

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 

Dernier (20)

Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 

PHP 5.3 - Introdução

  • 1. Bacharel em Ciência da Computação (UFG) Especializando em Engenharia de Software Analista de Sistemas – SIGMA / MDIC Professor Formador EAD – NEAD/ETEB george@georgemendonca.com.br http://www.georgemendonca.com.br Introdução
  • 3. • O que é PHP? – PHP: Hypertext Preprocessor – PHP é uma linguagem de script do lado servidor – Scripts PHP são executados no servidor – PHP suporta várias bases de dados (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc) – PHP é um software open source (código aberto) – PHP é gratuito para baixar e utilizar. Introdução 26/03/2011 3
  • 4. • O que arquivos PHP podem fazer? – Arquivos PHP podem conter texto, tags HTML e scripts. – Arquivos PHP são retornados para o navegador como HTML simples. – Arquivos PHP tem extensões de arquivo ".php", ".php3", ou ".phtml“. Introdução 26/03/2011 4
  • 5. • A história do PHP – PHP/FI (Personal Home Page / Forms Interpreter): foi criado por Rasmus Lerdorf em 1995 (Pearl). – Em 1997, PHP/FI 2.0, a segunda versão da implementação em C. – PHP 3: totoalmente reescrito em 1997, assemelha ao PHP de hoje. Criado por And Gutmans e Zeev Suraski. Juntamente com Rasmus, lançaram esta versão em junho de 1998. – PHP 4: Zend Engine, mais robusta, profissional, novas características, banco de dados, sessões, etc. – PHP 5: Zend Engine 2, lançado em junho de 2004, novo modelo de Orientação a Objetos, novas características. Introdução 26/03/2011 5
  • 6. • Características do PHP – Velocidade e robustez – Estruturado – Suporte a Orientação a Objetos – Portabilidade – Independência de plataforma - "write once run anywhere" (escreva uma vez, rode em qualquer lugar); – Tipagem Fraca – Sintaxe similar a Linguagem C/C++ e o PERL – Curva de aprendizado reduzida – Documentação oficial em português Introdução 26/03/2011 6
  • 7. • Características do PHP – Foi criado do zero para a internet em vez de ser a adaptação de uma tecnologia anterior – Grande quantidade de módulos, bibliotecas prontas e frameworks disponíveis – Flexibilidade para desenvolver códigos em outras linguagens. Introdução 26/03/2011 7
  • 8. • O que PHP pode fazer? – Qualquer coisa que um script CGI faz e muit mais! • Script no lado do servidor (server-side scripts) – Este é o mais tradicional e principal campo de atuação do PHP • Script de linha de comando. – CLI – Command Line Interface • Escrever aplicações desktop. – PHP-GTK Introdução 26/03/2011 8
  • 9. • O que você precisa para começar? – Ter acesso a um servidor Web com suporte PHP. – Você pode: • Instalar o servidor web Apache (ou IIS) em seu próprio servidor, instalar o PHP e o banco de dados MySQL, ou outro banco de sua preferência. • Ou executar um instalador e configurador de um ambiente Web para PHP como o WAMP, LAMP, XAMP ou o Zend Server CE. • Ou encontrar um plano de hospedagem web com suporte a PHP e Banco de Dados. Introdução 26/03/2011 9
  • 10. • Apache HTTP Server – Servidor HTTP (HyperText Transfer Protocol). – É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos. Introdução 26/03/2011 10
  • 11. • Apache HTTP Server – Mais bem sucedido servidor web livre – Numa pesquisa realizada em Agosto de 2010 (Pesquisa realizada pelo site Netcraft) foi constatado que a utilização do Apache representa 56% dos servidores ativos no mundo. – Software de licença livre e código aberto. Introdução 26/03/2011 11
  • 12. • Apache HTTP Server – Criado para atender às demandas dos maiores provedores e sites web. – Não tem concorrentes quanto à riqueza de recursos, estabilidade, performance, etc. Introdução 26/03/2011 12
  • 13. • Apache HTTP Server – Total de sites em todos os domínios de Agosto de 1995 a Agosto de 2010. Introdução 26/03/2011 13
  • 14. • Apache HTTP Server – Quota de mercado para os principais servidores em todos os domínios de Agosto de 1995 - agosto 2010. Introdução 26/03/2011 14
  • 15. • Apache HTTP Server – Links oficiais: • The Apache Software Foundation • Apache - HTTP Server Project Introdução 26/03/2011 15
  • 16. • O lado Cliente – Onde são processadas as diversas formas de interação entre o usuário e o sistema. – Solicitam serviços para efetivar a interação entre usuário e sistema. – Navegador: Fire Fox, IE, Opera, etc. • Responsável por mostrar o conteúdo recebido do servidor. • JavaScript, Cookies, HTML, CSS, imagens, etc. Arquitetura Cliente Servidor 26/03/2011 16
  • 17. • O lado Servidor – Estação onde estão sendo executados os aplicativos aos quais os acessos são feitos. – Oferecem serviços especializados aos seus requisitantes. – Repositório de regras de negócios do software web. – Servidor Web, Servidor de Arquivos, Servidor de E-mail, Servidor de Banco de Dados. Arquitetura Cliente Servidor 26/03/2011 17
  • 18. Arquitetura Cliente Servidor 26/03/2011 18 Usuário Servidor Web Aplicação WAN MAN LAN Apache Banco de Dados PHP Cliente (browser) MySQL PgSQL OracleAtivo Passivo Internet
  • 19. • Aplicações Web: – Blog – Webmail – E-comerce – Portais Corporativos, Colaborativos, do Conhecimento, etc – Intranet's corporativas – Extranet's – CMS's (Content Management Systems) – Workflow/Groupware Aplicações Web com PHP 26/03/2011 19
  • 20. • Aplicações Web: – Sistemas de Informação – ERP's (Enterprise Resource Planning) – Redes sociais: Orkut, Facebook, Linded In, Twitter, etc. • Stand Alone: – PHP GTK (aplicações desktop) • Alguém pode dar mais exemplos? Aplicações Web com PHP 26/03/2011 20
  • 21.  Como fazer o download do PHP?  http://www.php.net/downloads.php  Como instalar o PHP?  http://www.php.net/manual/en/install.php  Como fazer o download do servidor web Apache?  http://httpd.apache.org/download.cgi Informações importantes sobre PHP 26/03/2011 21
  • 22. • O primeiro script Iniciando com PHP 26/03/2011 22 <html> <head> <title>Primeiro Script PHP</title> </head> <body> <?php echo "Primeiro Script em PHP"; ?> </body> </html> Código HTML Código PHP
  • 23. • Tags PHP Iniciando com PHP 26/03/2011 23 // Tag padrão <?php echo "Primeiro Script em PHP"; ?> // Short open tags <script language=“php”> echo "Primeiro Script em PHP"; </script> <? echo "Primeiro Script em PHP"; ?> <% echo "Primeiro Script em PHP"; %>
  • 24. • Case Sentitive – Faz distinção entre maiúsculas e minúsculas • Instruções terminadas por “;” • Comentários Iniciando com PHP 26/03/2011 24 // Uma linha # Uma linha /* Mais de uma linha */
  • 25. • Comentários PHP DOC Iniciando com PHP 26/03/2011 25 /** * Comentário para PHP DOC * @author George Henrique * @example Aula * @copyright www.georgemendonca.com.br * @version 1.0 * */
  • 26. • Variáveis – É um rótulo que identifica um repositório de dados (local de armazenamento na memória). – Faz referência a um tipo de dado específico, isto é, a um número, a uma letra (caractere), a uma sequência de letras (string), etc. – Possui um escopo, isto é, uma região do código (programa) onde é válida ou pode ser utilizada. Iniciando com PHP 26/03/2011 26
  • 27. • Variáveis – Seu uso se dá em dois momentos: • Declaração • Utilização propriamente dita (leitura ou escrita) – São representadas por $, seguidas pelo nome da variável. Iniciando com PHP 26/03/2011 27
  • 28. • Variáveis – Atribuídas com o sinal de = • Variável no lado esquerdo, valor no lado direito – Não precisam ser declaradas ou inicializadas. Exemplo: – Atenção: se não for inicializada o valor atribuído será NULO Iniciando com PHP 26/03/2011 28 <?php $nome = "George Henrique"; ?>
  • 29. • Tipos de Variáveis – O PHP suporta os oitos tipos primitivos. – São quatros tipos básicos: • boolean (valor verdade, TRUE ou FALSE) • integer (conjunto Z = {..., -2, -1, 0, 1, 2, ...}) • float (número de ponto flutuante, ou também double) • string (série de caracteres) Iniciando com PHP 26/03/2011 29
  • 30. • Tipos de Variáveis – Dois tipos compostos: • Array (mapa ordenado) • Object (objeto de uma classe) – E finalmente dois tipos especiais: • Resource (referência a um recurso externo) • NULL (variável sem valor ou não definida) Iniciando com PHP 26/03/2011 30
  • 31. • Tipos de Variáveis – O manual também introduz alguns pseudo-tipos por razões de legibilidade: • mixed (indica que um parâmetro pode receber mais de um tipo) • number (indica que um parâmetro pode ser integer ou float) • callback (chamada de funções definidas como parâmetro) – E a pseudo-variável $this. Utilizada para referenciar um objeto de uma classe. Iniciando com PHP 26/03/2011 31
  • 32. • Tipos de Variáveis Iniciando com PHP 26/03/2011 32 <?php $bool = TRUE; // um booleano $str = "foo"; // uma string $int = 12; // um inteiro $double = 1.2; // ponto flutuante echo gettype($bool)." <br />"; // imprime "boolean" echo gettype($str)." <br />"; // imprime "string" echo gettype($double)." <br />"; // imprime "double" // Se é um inteiro, incrementa em quatro if (is_int($int)) { echo $int += 4; } // Se for string, imprime conteúdo, caso contrário não faz nada if (is_string($bool)) { echo "String: $bool"; } Saída: boolean string double 16
  • 33. • Variáveis variáveis – Utilizado quando se necessita de criar variáveis e utilizá-las dinamicamente: Iniciando com PHP 26/03/2011 33 <?php $variavel_comum = "variavel_dinamica"; $$variavel_comum = "conteúdo da variável dinâmica"; echo $variavel_comum." <br />"; echo $$variavel_comum." <br />"; echo $variavel_dinamica; Saída: variavel_dinamica conteúdo da variável dinâmica
  • 34. • Funções úteis mostrar informações sobre variáveis: – var_dump($var) • Mostra informações sobre uma variável. – var_export($var) • Representação estruturada de uma variável. – print_r($var) • Imprime informações legíveis sobre uma variável. Iniciando com PHP 26/03/2011 34 <?php $mensagem = "Para frente e avante!"; var_dump($mensagem); echo "<br/>"; var_export($mensagem); echo "<br/>"; print_r($mensagem); Saída: string(21) "Para frente e avante!" 'Para frente e avante!' Para frente e avante!
  • 35. • Conversão de Tipos – A conversão de tipos no PHP e possível graças a utilização do casting: • (int), (integer) - converte para inteiro • (bool), (boolean) - converte para booleano • (float), (double), (real) - converte para número de ponto flutuante • (string) - converte para string • (binary) - converte para string binária (PHP 6) • (array) - converte para array • (object) - converte para objeto • (unset) - converte para NULL (PHP 5) – Veja: Tabelas de comparação de tipo do PHP – Iniciando com PHP 26/03/2011 35
  • 36. • Conversão de Tipos Iniciando com PHP 26/03/2011 36 <?php echo "<pre>"; var_dump((bool) "Olá"); var_dump((bool) ""); var_dump((bool) 1); var_dump((bool) array()); var_dump((int)(3/2)); var_dump((integer) 4.5); var_dump((int) 7.5); var_dump(3 + "7.1"); var_dump("10 gatos" + 5); var_dump((string) 5); var_dump(array(1,2)); var_dump((object) array(1,2)); Saída: bool(true) bool(false) bool(true) bool(false) int(1) int(4) int(7) float(10.1) int(15) string(1) "5" array(2) { [0]=> int(1) [1]=> int(2) } object(stdClass)#1 (2) { [0]=> int(1) [1]=> int(2) }
  • 37. • Constantes – Uma constante é um identificador para um valor simples. É um valor que não se altera. – Para definir uma constante, utilizamos a função define(), cuja sintaxe é: Iniciando com PHP 26/03/2011 37 <?php define("NOME", "<VALOR>");
  • 38. • Funções úteis para constantes: – defined("NOME_DA_CONSTANTE") • Verifica a existência de uma constante e se ela foi definida. – constant("NOME_DA_CONSTANTE") • Retorna o valor de uma constante. Útil para recuperar constantes quando não se sabe o nome da constante ou quando é retornada por uma função. Iniciando com PHP 26/03/2011 38
  • 39. • Exemplo usando constantes Iniciando com PHP 26/03/2011 // Nomes de constantes válidos define("TITULO_BLOG", "Meu Blog"); define("MSG_CONTEUDO_BLOG", "Seja bem vindo!"); define("MENSAGEM_POPUP_CADASTRO", "Cadastro realizado com sucesso!"); // Nomes de constantes inválidas define("2VLR", "constante inválida"); // Isto é válido, mas deve ser evitado: define("__TITULOMODULO__", "deve-se evitar"); define("RODAPE_BLOG", "© 2010 by George Mendonça. All rights reserved."); echo TITULO_BLOG."<br />". MSG_CONTEUDO_BLOG."<br />". __TITULOMODULO__."<br />". MENSAGEM_POPUP_CADASTRO."<br />". // 2VLR."<br />". (Error) RODAPE_BLOG; Saída: Meu Blog Seja bem vindo! deve-se evitar Cadastro realizado com sucesso! © 2010 by George Mendonça. All rights reserved.
  • 40. • Constantes Pré-definidas – __LINE__ - Retorna a linha atual do arquivo – __FILE__ - Retorna o caminho com o nome do arquivo – __DIR__ - Retorna o diretório. – __FUNCTION__ - Retorna o nome da função atual. – __CLASS__ - Retorna o nome da classe atual. – __METHOD__ - Retorna o do método da classe atual. – __NAMESPACE__ - Retorna o nome atual do namespace. Iniciando com PHP 26/03/2011 40
  • 41. • Variáveis Super Globais – Variáveis nativas que estão sempre disponíveis em todos os escopos: • $GLOBALS — Referencia todas variáveis disponíveis no escopo global • $_SERVER — Informação do servidor e ambiente de execução • $_GET — HTTP GET variáveis • $_POST — HTTP POST variáveis • $_FILES — HTTP File Upload variáveis • $_REQUEST — Variáveis de requisição HTTP • $_SESSION — Variáveis de sessão • $_ENV — Environment variables • $_COOKIE — HTTP Cookies Iniciando com PHP 26/03/2011 41
  • 42. • Variáveis Super Globais Iniciando com PHP 26/03/2011 42 echo $_SERVER["PHP_SELF"]."<br />"; echo $_SERVER["HTTP_HOST"]."<br />"; $nome = "George Henrique R. E. Mendonça"; echo $GLOBALS['nome']."<br />"; session_start(); $_SESSION['primeiro_nome'] = "George Henrique"; echo $_SESSION['primeiro_nome']."<br />"; echo $_GET["curso"]."<br />"; // Testar via URL: ?curso=PHP5 echo @$_POST["curso"]; Saída: /aulas-php5.3-oo/02-php/10-variavis-super-globais.php Localhost George Henrique R. E. Mendonça George Henrique PHP5
  • 43. • Array – Arrays em PHP são mapas ordenados de chaves e valores, ou seja, você pode atribuir a um elemento do array uma chave e um valor. Iniciando com PHP 26/03/2011 43
  • 44. Iniciando com PHP 26/03/2011 44 <?php $frutas1 = array('banana','maçã','pêra'); $frutas2[] = 'banana'; $frutas2[] = 'maçã'; $frutas2[] = 'pera'; $frutas3 = array ( 0 => 'banana', 1 => 'maçã', 2 => 'pêra' ); $frutas4['frutax'] = 'banana'; $frutas4['frutay'] = 'maçã'; $frutas4['frutaz'] = 'pêra'; echo '<pre>'; print_r($frutas1); print_r($frutas2); print_r($frutas3); print_r($frutas4); Saída: Array ( [0] => banana [1] => maçã [2] => pera ) Array ( [0] => banana [1] => maçã [2] => pera ) Array ( [0] => banana [1] => maçã [2] => pera ) Array ( [frutax] => banana [frutay] => maçã [frutaz] => pera )
  • 45. Iniciando com PHP 26/03/2011 45 <?php echo $frutas1[1]; // maçã echo '<br />'; echo $frutas2[0]; // banana echo '<br />'; echo $frutas4['frutaz']; // pêra Saída: maçã banana pêra • Array – Acessando os elementos
  • 46. • Operadores – Aritméticos: Iniciando com PHP 26/03/2011 46 + => ADIÇÃO - => SUBTRAÇÃO * => MULTIPLICAÇÃO / => DIVISÃO - oper => TROCA SINAL ++ oper => PRÉ-INCREMENTO -- oper => PRÉ-DECREMENTO oper ++ => PÓS-INCREMENTO oper -- => PÓS-DECREMENTO
  • 47. • Operadores – Comparativos Iniciando com PHP 26/03/2011 47 X == Y => X IGUAL A Y X >= Y => X MAIOR OU IGUAL A Y X <= Y => X MENOR OU IGUAL A Y X != Y => X DIFERENTE DE Y X <> Y => X DIFERENTE DE Y X > Y => X MAIOR QUE Y X < Y => X MENOR QUE Y
  • 48. • Operadores – De atribuição Iniciando com PHP 26/03/2011 48 $num = 5; => Sinal de igualdade $num += 5; => $num = $num + 5; $num -= 5; => $num = $num - 5; $num *= 5; => $num = $num * 5; $num /= 5; => $num = $num / 5; $nome .= “aluno”; => $nome = $nome.”aluno”; $num1 %= $num2; => $num1 = $num1 % $num2;
  • 49. • Operadores – Se o recurso track_errors estiver habilitado, qualquer mensagem de erro gerada pela expressão será gravada na variável global $php_errormsg. Esta variável será sobrescrita em cada erro, assim verifique-a constantemente se você quiser usá-la. – O PHP suporta um operador de controle de erro: o sinal 'arroba' (@). Quando ele precede uma expressão em PHP, qualquer mensagem de erro que possa ser gerada por aquela expressão será ignorada. – $nome = @$__POST['nome']; Iniciando com PHP 26/03/2011 49
  • 50. • Operadores – O PHP suporta um operador de execução: acentos graves (``). Note que não são apóstrofes! – O PHP tentará executar o conteúdo dos acentos graves como um comando do shell; a saída será retornada (isto é, ela não será simplesmente descarregada para a saída; ela pode ser atribuída a uma variável). – A utilização do operador contra-apóstrofo é idêntica a função shell_exec(). Iniciando com PHP 26/03/2011 50 $output = `dir`; echo "<pre>$output</pre>";
  • 51. • Operadores – Lógicos Iniciando com PHP 26/03/2011 51 !X => verdadeiro se X for falso X AND Y => verdadeiro se X e Y forem verdadeiros X OR Y => verdadeiro se X ou Y forem verdadeiros X XOR Y => verdadeiro se apenas um for verdadeiro X && Y => verdadeiro se X e Y forem verdadeiros X || Y => verdadeiro se X ou Y forem verdadeiros
  • 52. • Operadores – De string • Há dois operadores de string. – O primeiro é o operador de concatenação ('.'), que retorna a concatenação dos seus argumentos direito e esquerdo. – O segundo é o operador de atribuição de concatenação ('.='), que acrescenta o argumento do lado direito no argumento do lado esquerdo. Veja em Operadores de Atribuição para mais informações. Iniciando com PHP 26/03/2011 52 <?php $a = "Olá "; $b = $a . "mundo!"; // agora $b contém "Olá mundo!" $c = "Olá "; $c .= "mundo!"; // agora $a contém "Olá mundo!" echo $a;
  • 53. • Operadores – Um exercício simples • Quais são os valores das variáveis $a, $b, $c, $x, $y e $z após a execução do seguinte programa? Iniciando com PHP 26/03/2011 53 <?php $a = 2; $b = 4; $c = 6; $x = --$c + $b; $y = $b++ + $a; $z = $a - $b--;