Php
description
Transcript of Php
![Page 1: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/1.jpg)
1
PHP
Mauro César Lopes
27-09-2009
![Page 2: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/2.jpg)
2
Alterações
Data Alteração30/10/2009
![Page 3: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/3.jpg)
3
PHP
Desenvolvido originalmente por Rasmus Lerdorf em 1994
site do PHP: http://www.php.net PHP 2.0 1995 PHP 3.0 Junho/1998 PHP 4.0 Maio/2000 PHP 5.0 Julho/2004
![Page 4: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/4.jpg)
4
Características do PHP
Código aberto Embutido no HTML Baseado no servidor Suporte a diversos Banco de Dados Portabilidade
![Page 5: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/5.jpg)
5
Histórico
PHP/FI (Forms Interpreter) (1995)PHP/FI 2.0 (1997)PHP 3.0 (Junho de 1998) PHP 4.0 (maio de 2000)PHP 5.0 (Julho de 2007)
![Page 6: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/6.jpg)
6
Áreas que os scripts PHP são usados
Scripts no lado do servidor (server-side)
Scripts de linha de comando Aplicações Desktop
![Page 7: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/7.jpg)
7
Sistemas operacionais
Linux Unix like: Solaris, OpenBSD, MacOS
X, ... Microsoft Windows
![Page 8: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/8.jpg)
8
Servidores HTTP
Apache IIS (Internet Information Service)
![Page 9: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/9.jpg)
9
Tipo de programação
Procedural Orientada a Objetos
![Page 10: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/10.jpg)
10
Funcionalidades do PHP
Gerar HTML Geração de imagens Arquivos PDF Animações em Flash
![Page 11: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/11.jpg)
11
Suporte a banco de dados
MySQL Oracle Interbase PostgresSQL Outros ...
![Page 12: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/12.jpg)
12
Criação de scripts PHP
Todo trecho de programa PHP deve estar entre as tags <?php e ?>para que o servidor Web saiba que esse trecho trata-se de um código em PHP e que deve ser processado
Exemplo:<?php echo "Hello, world !";?>
![Page 13: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/13.jpg)
13
Variáveis
Variáveis proveem uma maneira de atribuir um nome a uma área de memória que conterá um dado
Inicia por $ seguido de uma letra ou _ - é case sensitive, isto é, sensível ao caso (distinção entre letras maiúsculas e minúsculas)
Por exemplo, a variável $Cor é completamente diferente da variável $cor
![Page 14: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/14.jpg)
14
Comentários
De uma linha:// este é o comentário de uma linha# este é o comentário de uma linha
De mais de uma linha: delimitado por /* e */
![Page 15: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/15.jpg)
15
Tipos de dadosNão é necessário declarar uma variável antes de usá-la. Basta atribuir
um valor inicial. A checagem de tipos é feita dinamicamente.
Exemplo:
$x=5;$x="policamp";$x=3.14;
Inteiro Ponto flutuante String Array Objeto
Checagem dinâmica de tipos
![Page 16: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/16.jpg)
16
Inteiros (integer ou long)
$x = 4567; # inteiro $y = -127; # inteiro negativo $o = 00116; # inteiro em representação
octal (base 8) $hex = 0x0F; # inteiro em
representação hexadecimal (base 16)
![Page 17: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/17.jpg)
17
Ponto Flutuante (double ou float)
$PI=3.14; $MOL=6.02e23; # uso da notação
científica
![Page 18: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/18.jpg)
18
Strings
Uma string é uma cadeia (sequência) de caracteres delimitadas pelos caracteres " ou '
Exemplos:"1", "Policamp", 'Campinas', 'Minas Gerais'
Strings podem ser concatenadas usando o operador '.'
Exemplos:$paragrafo_html = "<p>" . $texto . "</p>";
![Page 19: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/19.jpg)
19
Strings
Podem ser delimitadas por aspas simples (literal) ou aspas duplas (onde há interpretação de varáveis e caracteres especiais).
Caracteres especiais: \n (new line) \r (carriage return) \t (tab) \\ (barra invertida) \$ (cifrão) \' (aspa simple) \" (aspa dupla)
![Page 20: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/20.jpg)
20
Booleano Expressa um valor lógico que pode ser
verdadeiro (TRUE) ou falso (FALSE) Exemplo:
<?php $valida=true; if($valida) { print "Validado\n"; }?>
![Page 21: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/21.jpg)
21
Arrays São estruturas de dados que podem
armazenar múltiplos valoresExemplo:
$cores= array('vermelho', 'verde', 'azul');
$cor = $cores[1]; // retorna "verde" (2º elemento do array)
$cores[1]='amarelo'; // atribui novo valor (ao 2º elemento do array)
![Page 22: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/22.jpg)
22
Arrays
Podem ser definidos como mapeamentos ou vetores indexados
Exemplo:<?php
$cores[0]="Red";
$cores[1]="Green";
$cores[2]="Blue";
?>
![Page 23: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/23.jpg)
23
Arrays - tipos de índices
Ordenado baseado em número (começa no 0) (indexada numericamente)
Associativo formado por caracteres alfanuméricos (indexada por nome)
![Page 24: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/24.jpg)
24
Arrays
// cria e inicializa um array (indexada numericamente)$cores = array("Red", "Green", "Blue");
ou
// cria e inicializa um array usando índices (explicitamente)
$cores = array(0=>'Red', 1=> "Green", 2=>"Blue");
ou
// cria e inicializa um array usando índices (numéricos)
$cores[]="Red";$cores[]="Green";$cores[]="Blue";
![Page 25: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/25.jpg)
25
Arrays Associativos
São conjunto ordenados de chaves e valores, onde cada valor é acessado através de uma chave associada.
Exemplo:$estados_e_capital = array (
'SP' => 'São Paulo',
'MG' => 'Belo Horizonte',
'RJ' => 'Rio de Janeiro',
'ES' => 'Vitória'
);
![Page 26: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/26.jpg)
26
Arrays Associativos
<?php $cor['red']=0; $cor['green']=255; $cor['blue']=0;?>
ou
<?php $cores=array('red'=>0, 'green'=>1, 'blue'=>2);?>
![Page 27: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/27.jpg)
27
Arrays (3)
Usamos a função unset() para destruir todo o array.
![Page 28: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/28.jpg)
28
Funções de array array_pop($array) retira e retorna o último elemento do
array array_push ($array,$var) insere um ou mais elementos no
fim de um array array_shift ($array) retira e retorna o primeiro elemento de
um array array_unshift ($a,$val) insere um novo elemento no inicio
de um array array_rand ($array) retorna um ou mais elementos do array array_reverse ($array) retorna um array com ordem inversa array_keys ($array) retorna as chaves de um array array_values ($array) retorna os valores de um array sizeof () retorna o número de elementos do array count () retorna a quantidade de elementos de um array
![Page 29: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/29.jpg)
29
Pseudo-Types
São tipos "falso" que ajudam da legibilidade:
mixed: indica que o parâmetro pode aceitar múltiplos tipos mas não necessariamente todos os tipos.
number: indica que o parâmetro pode ser tanto integer ou float
callback
![Page 30: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/30.jpg)
30
Função each
Função each Retorna o par chave/valor corrente de um array e avança o seu cursor
Percorre os elemento de uma lista$chamada = array ( "aluno1" => "francisco", "alunos2" => "jose");
while(list($chave,$valor)=each($chamada){ echo "<p>Chave=[$chave], Valor=[$valor]\n";
}
![Page 31: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/31.jpg)
31
Listas
Cria variáveis como se fossem arrays Assim como array(), não é exatamente uma
função, e sim uma construção da própria linguagem.
list() é usada para criar uma lista de variáveis em apenas uma operação.
Exemplo:list($a,$b,$c)=array("a","b","c");
É uma forma de atribuição de vários valores ao mesmo tempo a diferentes variáveis
![Page 32: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/32.jpg)
32
Transformação de Tipos por coerção
Coerção é a conversão de um tipo em outro tipo diferente mediante operação realizada com tipos diferentes. Por exemplo:
$a=1;$a = $a + "5";
Nesse exemplo a variável $a é numérica (integer) na primeira atribuição e string na segunda atribuição
![Page 33: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/33.jpg)
33
Transformação explicita de tipos
Feita via typecast (como em linguagem C)
Exemplo:$a = 6; # a é um integer (6)
$a = (float) 6; # é um float (6.0)
![Page 34: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/34.jpg)
34
Casts permitidos
(int), (integer) Integer
(real), (double), (float) Float
(string) String
(array) Array
(objeto) objeto
![Page 35: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/35.jpg)
35
Constantes
Uma constante é um identificador (nome) para um único valor que não se altera durante a execução de um script)
Pré-definidas Definidas pelo usuário
Exemplo:define("MOL", 6.14e22);define("PI", 3.1415);echo MOL;echo PI;
![Page 36: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/36.jpg)
36
Constantes - Exemplo
<?php
// Nomes de constantes válidosdefine("FOO", "alguma coisa");define("FOO2", "alguma outra coisa");define("FOO_BAR", "alguma coisa mais");
// Nomes de constantes inválidasdefine("2FOO", "alguma coisa");
// Isto é válido, mas deve ser evitado:// O PHP pode vir a fornecer uma constante mágica// que danificará seu scriptdefine("__FOO__", "alguma coisa");
?>
![Page 37: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/37.jpg)
37
Constantes "Mágicas"
<?php
print __FILE__ ; # nome do arquivo echo "\n"; echo __LINE__; # nº da linha echo "\n"; echo __FUNCTION__; # nome da função echo "\n";
?>
![Page 38: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/38.jpg)
38
Operadores
Aritméticos Atribuição Bit a bit Lógicos Comparação Expressão condicional Incremento e decremento
![Page 39: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/39.jpg)
39
Operadores Aritméticos
+ Adição - Subtração * Multiplicação / Divisão % Resto da divisão (módulo)
![Page 40: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/40.jpg)
40
Operadores de Atribuição
= ($a=5); += ($a = $a + 5; $a+=5;) -= *= /= %= .=
![Page 41: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/41.jpg)
41
Operadores de Atribuição (2)
<<= >> &= |= ^=
![Page 42: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/42.jpg)
42
Operadores Bit a Bit
& (and) – operação E | (or) – operação OU ^ (xor) – operação OU-exclusivo ~ (not) – operação NÃO << - deslocamento de bits a esquerda
multiplicação por 2 >> - deslocamento de bits a direita
divisão por 2
![Page 43: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/43.jpg)
43
Operadores Lógicos
and (e) or (ou) xor (ou-exclusivo) ! (negação) && (e) || (ou)
![Page 44: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/44.jpg)
44
Operadores de Comparação (ou Condicionais)
== (igualdade) != (diferença) < (menor que) > (maior que) <= (menor ou igual a) >= (maior ou igual a)
![Page 45: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/45.jpg)
45
Operador Ternário (ou Condicional)
(expressão) ? (expressão2) : (expressão3);
Exemplo:
$a=5;$a > 5 ? $b="1" : $b="0";
é equivalente a:
if($a>5) $b="1";else $b="0";
![Page 46: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/46.jpg)
46
Operadores Unários
-oper : troca o sinal do operando ++ -- ++$a : pré-incremento (incrementa $a em um e depois retorna $a)
$a++ : pós-incremento --$a : pré-decremento $a-- : pós-decremento
![Page 47: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/47.jpg)
47
Precedência de Operadores- ! ~ ++ --- * / %- + - .- << >>- > < >= <=- == != <>- &- ^- |- &&- ||- ?:- = += -= *= /= %= &= ~= <<= >>= ^=- AND- XOR- OR
![Page 48: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/48.jpg)
48
Estruturas de Controle
Blocos Comandos condicionais Comando de repetição
![Page 49: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/49.jpg)
49
Blocos
São sequência de comandos delimitados por abre e fecha chaves ({ e })
![Page 50: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/50.jpg)
50
Comando Condicional
if (expressão) comando;
if(expressão) { comando1; ... comandoN;}
![Page 51: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/51.jpg)
51
Comando Condicional (2)
If (expressão) comando1;else comando2;
If(expressão): comando1; ... comandoN;else comando1; ... comandoN;endif
![Page 52: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/52.jpg)
52
Comando Condicional (3)
if(expressão1) { comando1;
}elseif(expressão2) { comando2;
}...else{ comandoN;
}
![Page 53: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/53.jpg)
53
Exemplo
<?php
$salario = 1000; $desconto = 0.10; // 10%
$total = $salario - $salario*$desconto;
if($total>900) { echo ""; }
?>
![Page 54: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/54.jpg)
54
switch
switch (expressão) { case valor1: comando1; break; case valor2: comando2; break;}
![Page 55: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/55.jpg)
55
Exemplo - switch<?php $i = 1; switch($i) { case 0: print "i é igual a 0"; break; case 1: print "i é igual a 1"; break; case 2: print "i é igual a 2"; break; default: print "i não é igual a 0, 1 ou 2"; break;}?>
![Page 56: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/56.jpg)
56
Comandos de repetição (laços)
while do .. while for foreach
![Page 57: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/57.jpg)
57
while
while (expressão) { comando;}
while (expressão) : comando1; ... comandoN;endwhile;
![Page 58: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/58.jpg)
58
Exemplo – comando while
<?php
$a = 1;
while ($a < 5) {
print $a;
$a++;
}
?>
![Page 59: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/59.jpg)
59
do..while
$a=0;
do
{
echo "a=$a\n";
$a++;
}
while ($a<=10);
![Page 60: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/60.jpg)
60
Exemplo – do .. while
<?php $acabou = false; do { print "loop ..."; $acabou=true; } while (!$acabou);?>
![Page 61: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/61.jpg)
61
for
for (expr1; expr2; expr3 ) {
comando1
..
comandoN
}
![Page 62: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/62.jpg)
62
foreach
Apresenta duas sintaxes:foreach ($nome_array as $elemento)
{
comandos
}
ouforeach ($nome_array as $chave => $valor)
{
comandos
}
![Page 63: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/63.jpg)
63
foreach (exemplo)
<?php
// define um array com cinco elementos
$a = array(1,2,3,4,5);
foreach ($a as $valor) { echo "valor=$valor<br>"; }
?>
![Page 64: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/64.jpg)
64
foreach (exemplo)
<?php
$a = array ( "cod1" => 10, "cod2" => 20, "cod3" => 30, "cod4" => 40);
foreach ($a as $chave => $valor) { echo "<p>chave=$chave, valor=$valor"; }
?>
![Page 65: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/65.jpg)
65
Comandos break e continue
break: pode ser usado em laços do, for e while.
O break "quebra" a execução e continua executando o próximo comando
break [n]; // onde n indica o número de estruturas que deverão ser finalizadas
![Page 66: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/66.jpg)
66
Comandos break e continue
continue: interrompe a execução e avalia novamente a condição de teste
continue [n]; // onde n indica o número de níveis que deverão ser iniciados
![Page 67: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/67.jpg)
67
Exemplo - break
<?php# break.php
for($i=0; $i < 100; $i++) {
if($i == 10) { break; }
echo " $i ";
}
?>
![Page 68: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/68.jpg)
68
Exemplo - continue<?php
// exibe os números pares for($i=0; $i < 100; $i++) {
if($i % 2) { continue; }
echo " $i " . '<br>';
}
?>
![Page 69: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/69.jpg)
69
Funções
Definição Argumentos Passagem de parâmetros (valor ou
referência) Argumentos com valores pré-definidos
![Page 70: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/70.jpg)
70
Funções - Sintaxe
function nome_da_função(
[arg1, [arg2, ...,[argN]]]
)
{
comando1;
...
comandoN;
[ return valor_de_retorno ];
}
![Page 71: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/71.jpg)
71
Funções definidas pelo usuário
Uma função deve ser definida com a usando a sintaxe indicada abaixo:
<?phpfunction foo($arg_1, $arg_2, /* ..., */ $arg_n){ echo "Função Exemplo.\n"; return $retval;}
?>
![Page 72: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/72.jpg)
72
Valores Retorno
A declaração return é opcionalQualquer tipo poderá ser retornado
incluindo listas e objetos.
![Page 73: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/73.jpg)
73
Exemplo do uso do return
<?php
function quadrado($num) { return $num * $num;
}
echo quadrado(4); // saída '16'.
?>
![Page 74: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/74.jpg)
74
Exemplo: Retornando um array com múltiplos elementos
<?php
function numeros_pequenos(){ return array (0, 1, 2);}
list($zero,$um,$dois)=numeros_pequenos();
?>
![Page 75: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/75.jpg)
75
Passagem de parâmetros
Existem dois tipos de passagem de parâmetros: por valor (by value) por referência (by reference)
O padrão é a passagem por valor.
![Page 76: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/76.jpg)
76
Exemplo de passagem de parâmetros<?php
function incByValue($var, $valor) { $var += $valor; }
function incByRef(&$var, $valor) { $var += $valor; }
$a = 1; echo incByValue($a,2); // retorna a=1 echo "a=$a\n";
$a = 1; echo incByRef($a,2); // retorna a=3 echo "a=$a\n";
?>
![Page 77: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/77.jpg)
77
Definição de valores padrões na chamada de funções
<?phpfunction incrementa($x, $valor=1){ $x += $valor; return $x;}
$a = 5;echo "1. " . incrementa($a) . "<br>";
echo "2. " . incrementa($a,-4) . "<br>";
echo "3. " . incrementa($a,5) . "<br>";
?>
![Page 78: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/78.jpg)
78
Modificadores de variáveis
Variáveis estáticas (static) mantém o valor que lhes foi atribuído na
última execução. Usa o operador static. Variáveis variáveis ($$) Variáveis de ambiente
![Page 79: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/79.jpg)
79
Exemplo: uso de variável estática
<?php
function obtemProximo() { static $contador=0; return ++$contador; }
echo obtemProximo(),"\n"; // retorna 1 echo obtemProximo(),"\n"; // retorna 2 echo obtemProximo(),"\n"; // retorna 3
?>
![Page 80: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/80.jpg)
80
Variáveis de Ambiente
<?php
phpinfo();
?>
![Page 81: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/81.jpg)
81
Inclusão de arquivos include caso o arquivo não seja encontrado, é
retornado um warning e o processamento da página continua
require caso o arquivo não seja encontrado, é retornado um erro fatal
include_once se o arquivo já estiver sido incluso ele será ignorado
require_once
Obs: include e include_once retornam uma advertência
(warning) no caso de erro. require e require_once retornam um erro fatal em
caso de erro.
![Page 82: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/82.jpg)
82
Include x Require
O comando include é reavaliado a cada chamada
A instrução require pode incluir apenas um arquivo (a função require não inclui arquivos dinamicamente)
![Page 83: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/83.jpg)
83
Exemplo
biblioteca.php
<?php /* * função quadrado * retorna o quadrado de um número * */
function quadrado($num) {
return $num * $num; }
?>
![Page 84: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/84.jpg)
84
Exemplo
teste_include.php
<?php // carrega o arquivo com a função necessária
include 'biblioteca.php';
// imprime o quadrado de 2
echo quadrado(2);
?>
![Page 85: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/85.jpg)
85
Tipo de variável
string gettype(mixed var); Possíveis valores de retorno:
Integer Double String Array Object Unknown type
![Page 86: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/86.jpg)
86
Formulários HTML
<form
method="[GET|POST]"
action=""
name =""
>
...
</form>
![Page 87: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/87.jpg)
87
Tratando informações recebidas de Formulários
$_POST: array global que permite a leitura de variáveis passadas através de um formulário HTML usando método POST
$_GET : array global que permite a leitura de variáveis passadas na URL através de um formulário HTML usando método GET
![Page 88: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/88.jpg)
88
Método GET
$nome = $_GET['nome'] $email = $_GET['email'] echo "$_GET['nome']"; echo "$_GET['email']";
![Page 89: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/89.jpg)
89
Método POST
$_POST['nome'] $_POST['email'] echo "$_POST['nome']"; echo "$_POST['email']";
![Page 90: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/90.jpg)
90
Exemplo – Método POST
form.html<form method="POST"
action="script.php">Nome:<input name="nome"
type="text"></form>
script.php<?php$nome=$_POST["nome"];Echo
"<p>nome=$nome";</php>
![Page 91: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/91.jpg)
91
Exemplo – Método GET
form.html
<form method="GET" action="script.php">
Nome:<input name="nome"
type="text"></form>
script.php<?php$nome=$_GET["nome"];echo
"<p>nome=$nome";</php>
![Page 92: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/92.jpg)
92
Algumas funções úteis
string htmlspecialchars ( string $string [, int $quote_style [, string $charset]] ) Converte caracteres especiais para a realidade HTML
string stripslashes ( string $str ) Retorna uma string com as barras invertidas retiradas. (\ se torna ' e assim por diante.) Duas barras invertidas (\\) se tornam uma (\).
urlencode(string $str); Codifica uma URL urldecode(string $str); Decodifica qualquer
%## codificado na string. nl2br() — Insere quebras de linha HTML antes de
todas newlines em uma string
![Page 93: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/93.jpg)
93
Variáveis Superglobals$GLOBALS
Contém uma referencia a todas as variáveis disponíveis no escopo global no script. As chaves desse array são os nomes das variáveis globais.
$_SERVER Variáveis setadas pelo servidor web ou de outra forma relacionadas
diretamente ao ambiente de execução do ambiente corrente.
$_GET Variáveis providas pelo script via URL query string.
$_POST Variáveis providas pelo script via HTTP POST.
$_COOKIE Variáveis providas ao script via HTTP cookies.
![Page 94: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/94.jpg)
94
Variáveis Superglobals (2)$_FILES
Variáveis providas ao script através do upload de arquivos via POST usando HTTP.
$_ENV Variáveis de ambientes providas ao script.
$_REQUEST Variáveis providas ao script via mecanismos de entrada como GET,
POST e COOKIE. Veja também import_request_variables().
$_SESSION Variáveis que estão registradas a uma sessão de associada a um
script.
![Page 95: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/95.jpg)
95
Funções úteis na validação de formulários
bool empty ( mixed $var )– verifica se determinada variável esta vazia (nula)
strlen() – retorna o número de caracteres de uma string
strstr() – acha a primeira ocorrência de uma string. Se não encontrar retorna falso (FALSE)
bool isset ( mixed $var [, mixed $var [, $...]] )Informa se a variável foi iniciada (Retorna TRUE se var existir; FALSE senão)
![Page 96: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/96.jpg)
96
Cookies e Sessions
HTTP é um protocolo "sem estado" O que significa o protocolo HTTP ser
um protocolo "sem estado" ? Significa que ele não guarda informações
entre uma transação e outra (elas são independentes). Portanto é necessário um mecanismo que permita que sejam criadas "relações entre as transações"
![Page 97: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/97.jpg)
97
Cookies e Sessions
Cookie e Session são mecanismos que permitem armazenar informações enquanto o usuário navega entre diferentes páginas de um site
![Page 98: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/98.jpg)
98
Exemplos de uso de cookies e sessões
Autenticação de usuários Carrinho de compras Exibição de anúncios ou imagens Personalização de páginas
![Page 99: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/99.jpg)
99
Uso de Cookies
É um arquivo texto armazenado no computador do usuário (cliente) para ser posteriormente recuperado pelo servidor
Formado por um par nome/valor Tempo de validade: tempo no qual o cookie
estará armazenado no micro do usuário O uso de cookie poderá ser habilitado /
desabilitado pelo navegador (no cliente)
![Page 100: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/100.jpg)
100
Uso de cookies
bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]]), onde:
nome: nome do cookie (obrigatório)valor: é o conteúdo do cookie (se não for fornecido o cookie será
removido)validade: tempo de validade do Cookiecaminho: caminho no servidor onde o cookie estará disponíveldomínio: domínio para o qual o cookie estará disponívelSeguro: 0 ou 1 (se 1 o cookie apenas será transmitido caso
segue uma conexão segura (HTTPS))
![Page 101: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/101.jpg)
101
Exemplo
setcookie("username","joao@net");
setcookie ("username"); // remove o cookie username
Obs: o envio de cookies deverá ser a primeira coisa a ser feita na transmissão de uma página (antes inclusive das tags <html> e <body>)
![Page 102: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/102.jpg)
102
Recuperação de Cookies
Uso do array superglobal $_COOKIE
Exemplo:
setcookie("username","joao@net");
E em uma outra página:$_COOKIE["username"]; // lê o valor do cookie
![Page 103: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/103.jpg)
103
Recuperação de Cookies
IMPORTANTE: os cookies não poderão ser usados dentro da própria página que os criou. Ele poderá apenas ser usado a partir do envio da próxima solicitação vinda do navegador do usuário (do cliente)
![Page 104: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/104.jpg)
104
Exemplo de uso: autenticação de usuários
"Autenticação é uma maneira que você tem de se certificar de que somente os usuários que possuem autorização estão acessando uma área restrita do seu site"
![Page 105: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/105.jpg)
105
Passos para Autenticação
Podemos dividir a autenticação de usuários com o uso de cookies em três passos:
1) Criação de uma página de login2) Criação de uma rotina de validação para
que seja usada nas páginas que fazem uso das áreas restritas
3) Criação de uma página de logout para os usuários autenticados a fim de realizar a exclusão do cookie.
![Page 106: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/106.jpg)
106
Exemplo de login usando cookies
login.html página inicial de login login.php processa o pedido de
login; valida usuário e senha no banco de dados
valida_cookies.inc valida os cookies pagina_inicial.php página validada logout.php limpa os cookies
armazenados no cliente; redireciona para página de login
![Page 107: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/107.jpg)
107
Sessão (Session)
É um período de tempo durante o qual uma pessoa navega pelas páginas de um site
Permitem o compartilhamento de informações entre diferentes páginas
Cada sessão possui um session id (SID) que é um identificador único
![Page 108: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/108.jpg)
108
Propagação do SessionID
Poderá ser feito por: cookies propagação de variáveis na URL
(endereço destino)
![Page 109: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/109.jpg)
109
Criação de Sessão no PHP
Manual Explícita (session_start) Implícita (ao registrar uma variável com a
função session_register) Automática
Depende da diretiva session.auto_start estar habilitada no arquivo php.ini
![Page 110: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/110.jpg)
110
Exemplo de Session<?phpsession_start();
if(!isset($_SESSION['contador'])) {
$_SESSION['contador']=1;}else { $_SESSION['contador']++;}
$contador= $_SESSION['contador'];
echo "<p>Contador=$contador";
$sid=session_id();
echo "<p>session_id= $sid";
?>
![Page 111: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/111.jpg)
111
Cookies x Sessões
Cookies
Tempo de duraçãoPode permanecer
armazenado por mais tempo (mesmo após o navegador ser eliminado)
Local de armazenamento
Pequenos arquivos armazenados na máquina do usuário
Sessões
Tempo de duraçãoDura enquanto o usuário
permanecer dentro do site
Local de armazenamento
Arquivos localizados no servidor (um arquivo por sessão)
![Page 112: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/112.jpg)
112
Cookies x Sessões
Cookies Sessões
Tempo de duração
Pode permanecer armazenado por mais tempo (mesmo após o navegador ser eliminado)
Dura enquanto o usuário permanecer dentro do site
Local de armazenamento
Pequenos arquivos armazenados na máquina do usuário
Arquivos localizados no servidor (um arquivo por sessão)
![Page 113: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/113.jpg)
113
Parâmetros de Configuração - Session
session
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
![Page 114: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/114.jpg)
114
Parâmetros de Configuração - SessionDirective Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
![Page 115: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/115.jpg)
115
Parâmetros de Configuração - Session
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path C:\xampp\tmp C:\xampp\tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
![Page 116: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/116.jpg)
116
Comandos básicos de saída
echo é uma comando que imprime uma ou mais variáveis no console
print é uma função que imprime uma string no console
var_dump imprime o conteúdo de uma variável
print_r imprime o conteúdo de uma variável, mas num formato mais legível para o programador
![Page 117: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/117.jpg)
117
Manipulação de Arquivos
fopen feof fgets fwrite fclose file_put_contents file_get_contents
![Page 118: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/118.jpg)
118
Manipulação de Arquivos
file copy rename unlink file_exists is_file
![Page 119: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/119.jpg)
119
Manipulação de Diretórios
mkdir getcwd chdir rmdir opendir closedir readdir
![Page 120: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/120.jpg)
120
Manipulação de Arquivos e Diretórios
int fopen(string arquivo, string modo [, int usar_path ´, resource contexto]])
onde: arquivo: modo: usar_path: contexto:
![Page 121: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/121.jpg)
121
Manipulação de strings – algumas funções strtoupper() retorna a string usando letras
maiúsculas strtolower () retorna a string usando
letras minúsculas substr () retorna uma substring strpad () strrepeat () strlen () retorna o tamanho da string str_replace () substitui uma string por
outra str_pos () retorna a posição de início de
uma string em outra string
![Page 122: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/122.jpg)
122
Classes e Objetos
Classes Métodos
![Page 123: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/123.jpg)
123
Classe - Exemplo
class Complexo { private $real; private $imag; public function real() { return $this->real; } public function imag() { return $this->imag; }}
![Page 124: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/124.jpg)
124
Criação de Objetos
$z = new Complexo;
$parte_real = $z->real();
$parte_imag = $z->imag();
![Page 125: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/125.jpg)
125
Bibliografia
Dall'Oglio, P. PHP Programando com Orientação a Objetos. Novatec. 2007.
NIEDERAUER, J. Web Interativa com Ajax e PHP. Novatec, 2007.
NIEDERAUER, J. Desenvolvendo Web Sites com PHP. Novatec, 2007.
Manual do PHP. http://br.php.net/manual
![Page 126: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/126.jpg)
126
Backup Slides
![Page 127: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/127.jpg)
127
PHP e MySQL
![Page 128: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/128.jpg)
128
Conectando do BD MySQL
<?php
$conexao = mysql_connect(
"localhost",
"usuario",
"password");
?>
![Page 129: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/129.jpg)
129
Selecionando a Base de Dados
$nomebanco = mysql_select_db('teste', $conexao);
![Page 130: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/130.jpg)
130
Exemplo de Consulta em SQL
<?php
$resultado = mysql_query(
"select * from produto"
);
while($linha=mysql_fetch_array($resultado)
{
foreach($linha as $valor) {
echo "$valor<br />";
}
}
mysql_close($conexao);
?>
![Page 131: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/131.jpg)
131
Fechando uma conexão
mysql_close($conexao)
![Page 132: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/132.jpg)
132
mysql API
mysql_affected_rows() – retorna o número de linhas afetadas por uma operação
mysql_fetch_array() – armazena a linha atual em um array associativo
mysql_fetch_object() – retorna uma linha como um objetomysql_fetch_row() – armazena a linha atual em um arraymysql_result() – retorna uma coluna do resultadomysql_num_rows() – retorna o numero de linhas de uma consultamysql_num_fields() – retorna o numero de colunas de uma
consultamysql_field_name() – retorna o nome de uma coluna em uma
consulta
![Page 133: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/133.jpg)
133
mysql API
int mysql_connect(str host, str username, str password)
int mysql_select_db(str database [, int link_identifier])
int mysql_query(str query [, int link_identifier])
array mysql_fetch_array(int result [, int result_type])
![Page 134: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/134.jpg)
134
mysql API
array mysql_fetch_row(int result) int mysql_insert_id([int link_identifier]) --> retorna o número de linhas após execução de um comando select
int mysql_affected_rows([int link_identifier]) --> retorna o nº de linhas que foram afetados em uma tabela por comandos update, insert e delete
![Page 135: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/135.jpg)
135
mysql API
mysql_error()
![Page 136: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/136.jpg)
136
Exemplo
Aplicação de Cadastro de Alunos http://127.0.0.1/aluno/tela1.html
Apresentação de Notícias http://127.0.0.1/noticias2
![Page 137: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/137.jpg)
137
Exemplos de Funções
![Page 138: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/138.jpg)
138
Funções date e time
string date (
string $format
[, int $timestamp ]
)
Formata a data e a hora local int time ( void ) Retorna o timestamp Unix atual
![Page 139: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/139.jpg)
139
Exemplos
<?php echo date("Y-m-d",0),"\n"; echo date("Y-m-d",time()),"\n"; echo date("d/m/Y",time()),"\n"; echo date("d/m/y",time()),"\n"; echo date("d/m/y H:i:s",time()),"\n";?>
1969-12-312008-11-2727/11/200827/11/0827/11/08 09:20:11
![Page 140: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/140.jpg)
140
Função mktime
int mktime ([ int $hora [, int $minuto [, int $second [, int $mes [, int $dia [, int $ano [, int $is_dst ]]]]]]] ) Obtém um timestamp Unix para uma data
![Page 141: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/141.jpg)
141
Exemplo
<?php
echo date("d/m/Y H:i:s",
mktime(2, 12, 4, 10, 3, 01));
?>
![Page 142: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/142.jpg)
142
Função strtotime
$data_formatada = date("d/m/Y",strtotime($data));
echo "<td>$data_formatada</td>";
![Page 143: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/143.jpg)
143
Datas - MySQL
date_format(date, format)
Exemplo:
SELECT *, date_format(data,'%d/%m/%Y') dt
FROM teste.gasto g
where date_format(data,'%d/%m/%Y')='26/11/2008'
![Page 144: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/144.jpg)
144
Exemplo
Seleciona os gastos entre duas datas:
SELECT *, date_format(data,'%d/%m/%Y') dtFROM teste.gasto gwhere date_format(data,'%Y%m%d') between '20081124' and '20081125'
![Page 145: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/145.jpg)
145
Questões
Qual é a diferença entre os comandos echo e print ? echo "1","2"; // ok print "1","2"; // erro: o comando print não
suporta ',' separando os operadores Qual é a diferença entre os comandos
require e include ?
![Page 146: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/146.jpg)
146
Cabeçalho de um script PHP
<?php---------?>
![Page 147: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/147.jpg)
147
Definição de variáveis
Em PHP não é necessário fazer a declaração de variáveis
![Page 148: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/148.jpg)
148
Delimitadores de string '' aspas simpless='um $nome\n';
"" aspas duplass="um $nome\n";
`` aspas invertidas (apóstrofo)
heredoc$str = <<<EOD Aqui podemos definir uma stringEOD;
![Page 149: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/149.jpg)
149
Definição de Constantes
bool define (string nome, misto valor [, bool case_insensitive])
Exemplo:define (OK,true);define(NOK,false);echo OK;
![Page 150: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/150.jpg)
150
Tipos de Variáveis
Numéricas Alfanuméricas (Strings) Arrays Objetos
![Page 151: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/151.jpg)
151
Classes
Classes: são agrupamentos de variáveis e funções
Objeto: é uma instância de uma classe
![Page 152: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/152.jpg)
152
Diferenças entre echo e print
TRUE 1 – qualquer valor não vazio é tratado como verdadeiro
FALSE 0
echo "1","2"; // ok print "1","2"; // erro: o comando print
não suporta ',' separando os operadores
![Page 153: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/153.jpg)
153
PHP 5.3
Migração http://docs.php.net/migration53 Manual do PHP http://docs.php.net/manual/pt_BR/inde
x.php Referência de Funções http://docs.php.net/manual/pt_BR/func
ref.php
![Page 154: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/154.jpg)
154
Links
Revista PHP Magazinehttp://www.phpmagazine.org.br
![Page 155: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/155.jpg)
155
Funções MySQL mysql_affected_rows — Obtém o número de linhas
atingidas na operação anterior do MySQL mysql_change_user — Muda o usuário da conexão ativa mysql_client_encoding — Retorna o nome do conjunto
de caracteres mysql_close — Fecha a conexão MySQL mysql_connect — Abre uma conexão com um servidor
MySQL mysql_create_db — Cria um banco de dados MySQL mysql_data_seek — Move o ponteiro interno do
resultado mysql_db_name — Obtém dados do resultado(nome de
banco de dados) mysql_db_query — Envia uma consulta MySQL mysql_drop_db — Exclui um banco de dados MySQL
![Page 156: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/156.jpg)
156
Funções MySQL mysql_errno — Retorna o valor numérico da mensagem de erro da
operação MySQL anterior mysql_error — Retorna o texto da mensagem de erro da operação
MySQL anterior mysql_escape_string — Escapa uma string para usar em uma
consulta MySQL mysql_fetch_array — Obtém uma linha como uma matriz
associativa, uma matriz numérica, ou ambas mysql_fetch_assoc — Obtém um linha do resultado como uma
matriz associativa mysql_fetch_field — Obtém informações sobre uma coluna de um
resultado e retorna como um objeto mysql_fetch_lengths — Obtém o tamanho de cada saída no
resultado mysql_fetch_object — Obtém o resultado de uma linha como um
objeto mysql_fetch_row — Obtém uma linha como uma array numérica mysql_field_flags — Obtém as flags associadas ao campo
especificado em um resultado
![Page 157: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/157.jpg)
157
Funções MySQL mysql_field_len — Retorna o tamanho do campo especificado mysql_field_name — Obtém o nome do campo especificado
em um resultado mysql_field_seek — Define o ponteiro do resultado para o
índice de campo especificado mysql_field_table — Obtém o nome da tabela na qual o campo
especificado esta mysql_field_type — Obtém o tipo do campo especificado em
um resultado mysql_free_result — Libera um resultado da memória mysql_get_client_info — Obtém informações do cliente MySQL mysql_get_host_info — Obtém informações do servidor MySQL mysql_get_proto_info — Obtém informações do protocolo
MySQL mysql_get_server_info — Obtém informações do servidor
MySQL
![Page 158: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/158.jpg)
158
Funções MySQL mysql_info — Obtém informação sobre a consulta mais
recente mysql_insert_id — Obtém o ID gerado pela operação INSERT
anterior mysql_list_dbs — Lista os bancos de dados disponíveis em um
servidor MySQL mysql_list_fields — Lista os campos de uma tabela MySQL mysql_list_processes — Lista os processos MySQL mysql_list_tables — Lista as tabelas em um banco de dados
MySQL mysql_num_fields — Obtém o numero de campos em um
resultado mysql_num_rows — Obtém o número de linhas em um
resultado mysql_pconnect — Abre uma conexão persistente com um
servidor MySQL mysql_ping — pinga uma conexão com o servidor ou
reconecta se não houver conexão
![Page 159: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/159.jpg)
159
Funções MySQL mysql_query — Envia uma consulta MySQL mysql_real_escape_string — Escapa os caracteres
especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
mysql_result — Retorna dados do resultado mysql_select_db — Seleciona um banco de dados
MySQL mysql_set_charset — Sets the client character set mysql_stat — Retorna o status atual do sistema mysql_tablename — Retorna o nome da tabela do
campo mysql_thread_id — Returna o ID da thread atual mysql_unbuffered_query — Envia uma query para o
MySQL, sem retornar e colocar em buffer as linhas do resultado
![Page 160: Php](https://reader036.fdocuments.net/reader036/viewer/2022062323/55cf8a8f55034654898bb414/html5/thumbnails/160.jpg)
160
MySQLi
http://docs.php.net/manual/pt_BR/mysqli.summary.php