Sie sind auf Seite 1von 58

DESENVOLVIMENTO WEB

NA PRÁTICA
PHP
Hipertext Preprocessor
(Pré-processador de Hipertexto)

Tiago Nogueira
admtiagonogueira@gmail.com

2
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

3
Características do PHP

 Código aberto
 Embutido no HTML
 Baseado no servidor
 Suporte a diversos Banco de Dados
 Portabilidade

4
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)

5
Áreas que os scripts PHP são usados

 Scripts no lado do servidor (server-side)


 Scripts de linha de comando
 Aplicações Desktop

6
Sistemas operacionais

 Linux
 Unix like: Solaris, OpenBSD, MacOS X, ...
 Microsoft Windows

7
Servidores HTTP

 Apache
 IIS (Internet Information Service)

8
Tipo de programação

 Procedural
 Orientada a Objetos

9
Funcionalidades do PHP

 Gerar HTML
 Geração de imagens
 Arquivos PDF
 Animações em Flash

10
Suporte a banco de dados

 MySQL
 Oracle
 Interbase
 PostgresSQL
 Outros
 ...

11
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 !";
?>
12
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
13
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 */

14
Tipos de dados
Nã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


15
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>";
16
Operadores Aritméticos

 + Adição
 - Subtração
 * Multiplicação
 / Divisão
 % Resto da divisão (módulo)

17
Operadores de Atribuição

 = ($a=5);
 += ($a = $a + 5; $a+=5;)
 -=
 *=
 /=
 %=
 .=

18
Estruturas de Controle

 Blocos
 Comandos condicionais
 Comando de repetição

19
Blocos

 São sequência de comandos delimitados por


abre e fecha chaves ({ e })

20
Comando Condicional

 if (expressão)
comando;
 if(expressão) {
comando1;
...
comandoN;
}

21
Exemplo
<?php

$salario = 1000;
$desconto = 0.10; // 10%

$total = $salario - $salario*$desconto;

if($total>900) {
echo "";
}

?>

22
Comandos de repetição (laços)

 while
 do .. while
 for
 foreach

23
while

 while (expressão) {
comando;
}

 while (expressão) :
comando1;
...
comandoN;
endwhile;
24
Funções

 Definição
 Argumentos
 Passagem de parâmetros (valor ou
referência)
 Argumentos com valores pré-definidos

25
Funções - Sintaxe
function nome_da_função(
[arg1, [arg2, ...,[argN]]]
)
{
comando1;
...
comandoN;
[ return valor_de_retorno ];
}

26
Valores Retorno

A declaração return é opcional


Qualquer tipo poderá ser retornado incluindo
listas e objetos.

27
Exemplo do uso do return
<?php

function quadrado($num)
{
return $num * $num;
}

echo quadrado(4); // saída '16'.

?>

28
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.

29
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";

?>
30
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

31
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

?>

32
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. 33
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)

34
Exemplo
biblioteca.php
<?php
/*
* função quadrado
* retorna o quadrado de um número
*
*/

function quadrado($num)
{
return $num * $num;
}

?>

35
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);
?>

36
Formulários HTML

<form
method="[GET|POST]"
action=""
name =""
>
...
</form>

37
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

38
Método GET

 $nome = $_GET['nome']
 $email = $_GET['email']
 echo "$_GET['nome']";
 echo "$_GET['email']";

39
Método POST

 $_POST['nome']
 $_POST['email']
 echo "$_POST['nome']";
 echo "$_POST['email']";

40
Exemplo – Método POST
form.html script.php
<form method="POST" <?php
action="script.php"> $nome=$_POST["nome"];
Nome: Echo "<p>nome=$nome";
<input name="nome" </php>
type="text">
</form>

41
Exemplo – Método GET
form.html script.php
<?php
<form method="GET" $nome=$_GET["nome"];
action="script.php"> echo "<p>nome=$nome";
Nome: </php>
<input name="nome"
type="text">
</form>

42
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

43
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)

44
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 Cookie
caminho: caminho no servidor onde o cookie estará disponível
domínio: domínio para o qual o cookie estará disponível
Seguro: 0 ou 1 (se 1 o cookie apenas será transmitido caso segue
uma conexão segura (HTTPS))

45
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>)

46
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

47
Cookies x Sessões

Cookies Sessões
Pode permanecer armazenado por Dura enquanto o
Tempo de mais tempo (mesmo após o usuário permanecer
duração navegador ser eliminado) dentro do site

Arquivos localizados no
Local de servidor (um arquivo
Pequenos arquivos armazenados na
armazena por sessão)
máquina do usuário
mento

48
Exemplo de Session
<?php $contador=
session_start(); $_SESSION['contador'];

if(!isset($_SESSION['contador']) echo "<p>Contador=$contador";


) {
$_SESSION['contador']=1;
$sid=session_id();
}
else {
$_SESSION['contador']++; echo "<p>session_id= $sid";
}

?>

49
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

50
Manipulação de Arquivos

 file
 copy
 rename
 unlink
 file_exists
 is_file

51
Manipulação de Arquivos e Diretórios

 int fopen(string arquivo, string modo [, int


usar_path ´, resource contexto]])
 onde:
 arquivo:
 modo:
 usar_path:
 contexto:

52
Classes e Objetos

 Classes
 Métodos

53
Classe - Exemplo
class Complexo {
private $real;
private $imag;
public function real() {
return $this->real;
}
public function imag() {
return $this->imag;
}
}

54
Criação de Objetos
$z = new Complexo;
$parte_real = $z->real();
$parte_imag = $z->imag();

55
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

56
Créditos

Mauro César Lopes


Links

 http://www.maujor.com/
 http://tableless.com.br/
 https://www.codecademy.com/pt
 http://www.w3schools.com/
 http://www.w3c.br/

Das könnte Ihnen auch gefallen