introducao ao php

22
Prof. Mauricio Garcia Nascimento Prof. Daniel Arndt Alves Introdução ao Desenvolvimento de Sistemas Web com PHP Programa de Verão IME-USP 2014 Introdução ao PHP

Upload: daniel-arndt-alves

Post on 04-Jul-2015

164 views

Category:

Education


1 download

DESCRIPTION

Introdução à Linguagem PHP

TRANSCRIPT

Page 1: Introducao ao PHP

Prof. Mauricio Garcia Nascimento Prof. Daniel Arndt Alves

Introdução ao Desenvolvimento de Sistemas Web com PHP Programa de Verão IME-USP 2014

Introdução ao PHP

Page 2: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Arquivo PHP

Extensão do script: php (convenção) “Tag” do PHP

Pode ser inserida em qualquer posição do script, quantas vezes for necessário

<?php ... /* código */ ... ?>

!2

Page 3: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

ola.php

<html> <body> !<?php echo "Ola Mundo"; ?> !</body> </html>

!3

Page 4: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

<html> <body> !<?php echo "Ola Mundo"; ?> !</body> </html>

ola.php

<html> <body> !Ola Mundo !</body> </html>

Requisição: http://servidor/ola.php

Resposta: código HTML

Requisição do script PHP

!4

Page 5: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]!5

Tipos de dados

Básicos Lógico (boolean) Inteiro (int) Decimal (float) Texto (string)

!Especiais / Compostos

Vetor (array) Objeto Recurso NULO

Page 6: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Tipo inteiro: representações

Decimal

10, 20, -2

Exponencial

2E7, 5E-8

Octal

0135, 0777, 053

Hexadecimal

0xFA, -0x10

!6

Page 7: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]!7

Tipo Lógico: representações

true

número ≠ 0

string não vazia

false

número 0

string vazia

string “0”

Page 8: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Variáveis

Regras de formação do nome “$” seguido de uma letra, e opcionalmente de uma sequência de letras e números !

$Nome = 'abc'; $AUX2 = 10.5; $flag = false; $_cont1_aux = 1; !

Boa prática Nome de variáveis sempre em minúsculo

!8

Page 9: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Variáveis no PHP

Não são tipadas

Não são declaradas

$Nome = 'abc'; $AUX2 = 10.5; $flag = false; $_cont1_aux = 1;

!São case-sensitive

$Nome ≠ $nome ≠ $NOME

!9

Page 10: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Constantes

Formação do nome regra semelhante às variáveis, sem o $

Boa prática nome em maiúsculo !

!define('NOME', 'abc'); define('VERDADEIRO', true); !echo NOME; if (VERDADEIRO) …

!10

Page 11: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Comentários no PHP<html> <body> <?php //comentário !# outro comentário !echo "<b>Ola Mundo</b>"; /* várias linhas de comentário */ ?> </body> </html>

Comentários no PHP são enviados ao browser?

!11

Page 12: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Operadores

Atribuição

Aritméticos

+ - / * %

Incremento / Decremento

Concatenador de strings

$a + $b $c / 10 10 % 3

$a++ ++$a $b--

$nome = 'abc';

$str = 'a' . 'b'; echo $str; //'ab’

!12

Page 13: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Função sprintf

str sprintf (str $format [, mix $args])

<?php $base = 10; $altura = 2.5; $area = $base * $altura / 2; !echo sprintf('Área igual a <b>%.2f</b>', $area); !echo sprintf('O valor da %s é %d', 'soma', 10); ?>

Outros formatos em http://php.net/sprintf

!13

Page 14: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Operadores

Atribuição-aritmético += -= /= *= %=

!!Referência &

$a += 2; // $a = $a+2; $b /= 3; // $b = $b/3;

$a = 10; $b = $a; $c = &$a;

$b++; $c++; !

//$a, $b, $c ??

Atribuição por valor !Atribuição por referência

!14

Page 15: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]!15

Operadores de comparação

== Equivalência

!= Não-equivalência

=== Identidade

!== Não-identidade < <= > >= $a = 10;

$b = 10; $c = '10'; echo $a == $b; //true echo $a == $c; //true echo $a === $c; //false

Page 16: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]!16

Operadores lógicos

if ($a == 10 && $b) ... echo !$a;

&& and E

|| or Ou

! Negação

Page 17: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas condicionais

if ($a < 5) { echo 'Menor que 5'; }

if (condição) { … }

if (condição) { … } else { … }

if ($a < 5) { echo 'Menor que 5'; } else { echo 'Maior ou igual a 5'; }

!17

Page 18: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas condicionais

if ($a < 5) { echo 'Menor que 5'; } else if ($a > 5) { echo 'Maior que 5'; } else { echo 'Igual a 5'; }

if (condição) { … } else if (condição2) { … } else { … }

!18

Page 19: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas condicionais

Operador condicional ternário

echo $a == 5 ? 'sim' : 'não’;

Operador ternário

if ($a == 5) echo 'sim'; else echo 'não’;

!19

Page 20: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas condicionais

switch (expressão) { case 'val1': //comandos break; ! case 'val2': //comandos break; ! default: //comandos break; }

“else”

!20

Page 21: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas de repetição

while (condição) { … }

do { … } while (condição);

for ($i=0; $i<10; $i++) { … }

!21

Page 22: Introducao ao PHP

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

Estruturas de repetição

$i = 0; while ($i<10) { if (++$i == 5) break; ! echo $i.'<br />'; }

$i = 0; while ($i<10) { if (++$i == 5) continue; ! echo $i.'<br />'; }

Controle do fluxo de execução break continue

!22