61
1 PHP

Php m18

Embed Size (px)

Citation preview

Page 1: Php m18

1

PHP

Page 2: Php m18

2

2

Introdução (1)

O PHP é uma linguagem de programação de scripts para serem interpretados no lado dos servidores. Numa fase inicial(1995), o PHP surgiu com o significado

= Personal Home Pages, com um conjunto de

ferramentas de tipo CGI. Mas diversos factores

contribuíram para que o PHP conhecesse uma grande

difusão entre os programadores de Web Sites e,

actualmente, a sigla PHP tem o seguinte significado:

PHP Hypertext PreProcessor.

Page 3: Php m18

3 3

Introdução(2)

O PHP é uma linguagem interpretada, tal como o

Javascript. Mas, enquanto que o código Javascript é

interpretado no próprio browser que recebe a página

HTML, o código PHP é interpretado no servidor que

envia a página.

Assim, quando abrimos um documento HTML com um

script em Javascript, podemos pedir para ver o código

desse script no browser; mas quando recebemos uma

página web que tem um script PHP na sua origem,

apenas podemos ver no nosso browser o código HTML.

Page 4: Php m18

4 4

Factores de ajuda ao grande êxito do

PHP:

-É uma tecnologia distribuída gratuitamente;

- Tem excelente capacidade de articulação com:

- Os servidores Web mais divulgados, designadamente:

o Apache (gratuito) e o IIS (Internet Information Server)

comercializado pela Microsoft.

- Os Sistemas de Gestão de Bases de Dados de

distribuição gratuita ( a começar pelo MySql) e também

outros de natureza comercial.

Page 5: Php m18

5 5

Representação esquemática da arquitectura e do

funcionamento da tecnologia PHP

Page 6: Php m18

6

6 6

Como criar e executar scripts em

PHP?

Para testarmos um script em PHP precisamos de ter

acesso a um servidor Web, ainda que este esteja só

instalado localmente no nosso computador. Assim, para

podermos visualizar num browser as páginas

programadas em PHP teremos de fazer o upload dos

ficheiros para um servidor que interprete esta

linguagem.

No nosso caso, vamos utilizar o software WampServer, que junta todas as ferramentas necessárias para simular

um servidor localmente. É de distribuição gratuita –

freeware.

http://www.wampserver.com/en/download.php

Page 7: Php m18

7

PHP

(PHP HyperText PreProcessor)

Page 8: Php m18

8

Scripts PHP conjugados com código HTML

Page 9: Php m18

9

► Existem várias formas de conjugar scripts PHP com

código HTML. Podem-se escrever documentos HTML em que o código PHP surge intercalado com o código HTML. As tags que indicam os scripts de PHP podem ter 4 formas diferentes:

1 – Estilo XML: <?php... ?>; 2 – Estilo Abreviado: <? ...?>; 3 – Estilo ASP: <% ... %>; 4 – Estilo Script: <script language =‘php’ ... </script> A forma mais usual é o estilo XML(Extensible Markup

Language).

Page 10: Php m18

10

Exemplo1 de script em PHP

Nota: a instrução “echo” permite apresentar vários tipos de informação no monitor.

Page 11: Php m18

11

Exemplo2 de script em PHP

Nota: Em PHP podemos usar aspas simples ou duplas e plicas para incluir strings e outros elementos.

Page 12: Php m18

12

Elementos Básicos da Linguagem PHP

Page 13: Php m18

13

O PHP tal como o Javascript é uma linguagem C like, ou

seja, tem semelhanças com a linguagem C, a nível de

operadores, palavras chave, estruturas de controlo, etc.

No entanto, também existem algumas diferenças

importantes:

- Em PHP há a diferença entre maiúsculas e minúsculas

o PHP é Case Sensitive;

- Os nomes das variáveis começam sempre com o

caracter $;

- Os nomes das funções podem ser escritos com

maiúsculas ou minúsculas;

- Uma instrução termina com ; excepção é a instrução

que acaba junto a uma tag de fim de código ?> (aqui é

opcional o ;)

Page 14: Php m18

14

Continuação das diferenças na linguagem PHP:

- Um bloco de instruções é incluído dentro de chavetas;

- Os comentários inserem-se entre os sinais /* */ ou,

numa linha após um sinal // ou, #

Finalmente em PHP: os operadores, as estruturas de

controlo são os mesmos usados em C/C++, embora

estas últimas tenham sintaxes alternativas.

As funções criadas pelo programador têm uma estrutura

semelhante à usada no C/C++. Os nomes das funções

podem ser escritas com maiúsculas ou minúsculas.

Page 15: Php m18

15

Operadores Aritméticos

Operador Significado

+ Adição

- Subtracção

* Produto

/ Divisão

% Resto da divisão inteira

Page 16: Php m18

16

Operadores Aritméticos de Atribuição

Operador Significado

+= Adição seguida de atribuição

-= Subtracção seguida de atribuição

*= Produto seguido de atribuição

/= Divisão seguido de atribuição

%= Resto da divisão inteira seguido de atribuição

X+=Y => X=X+Y;

X-=Y => X=X-Y;

X*=Y => X=X*Y;

X/=Y => X=X/Y; X%=Y => X=X%Y

Page 17: Php m18

17

Operadores de Incremento e Decremento

Operador Significado

++ Incremento

-- Decremento

X=++A => X=A+1 ; A=A+1

X=A++ => X=A ; A =A+1

X=-- A => X=A-1 ; A=A-1

X=A--; => X=A ; A=A-1

Page 18: Php m18

18

Operadores Relacionais ou Comparativos

Operador Significado

== Igual a

!= Diferente de

< Menor que

> Maior que

>= Maior ou igual que

<= Menor ou igual que

=== Igualdade Restrita

!== Desigualdade Restrita

Page 19: Php m18

19

Exemplos de Utilização de vários Operadores em PHP

=== Igual restrito – retorna valor true se os dois operandos

forem iguais e do mesmo tipo.

!== Diferente restrito – retorna valor true se os dois

operandos forem de valor e/ou tipo diferente.

Exemplos:

12<5 – false

‘12’<‘5’ – false

‘12’<5 – false ( o ‘12’ é convertido em 12)

‘5’ == 5 – true ( o ‘5’ é convertido em 5)

‘5’ ===5 – false

‘5’!== 5 - true

Page 20: Php m18

20

Operadores Lógicos

Operador Significado

! Not – negação

&& And - conjunção

|| Or - disjunção

(3==3) && (3<=3) => True

(3==3) || ( 3 !=3) => True

!( 3==5) => True

Page 21: Php m18

21

Operador de Junção de strings

Operador Significado

. Junção de strings

Operador de Indicação de Tipo

Operador Significado

Gettype Avalia o tipo de dados que uma variável assumiu num dado momento

Page 22: Php m18

22

Utilização de Variáveis em PHP

•Em PHP, não existe declaração prévia de variáveis.

•Em PHP, uma variável passa a existir quando o seu nome é

escrito pela primeira vez. Normalmente, isso acontece

numa instrução de atribuição, em que uma variável recebe

um determinado valor , por exemplo: $X =10

•O tipo de dados de uma variável é determinado pelo último

valor que lhe foi atribuído.

Page 23: Php m18

23

Tipos de Dados em PHP

•Em PHP, apesar de não existirem palavras próprias para

definir os tipos de dados a que as variáveis pertencem,

existem, implicitamente, os principais tipos de dados

primitivos:

•Booleanos ou lógicos;

•Números inteiros;

•Números reais ou do tipo floating point;

•Strings ou cadeias de caracteres.

Para além destes referidos existem outros como: array,

object, resource (recurso) e o tipo especial Null.

Page 24: Php m18

24

Exemplo de script em PHP em que se usam vários tipos de dados

Nota: Em PHP podemos definir constantes com a função define(constante,valor). Por exemplo: define(TAXA, 0.19).

Page 25: Php m18

25

Variáveis Globais e Locais em PHP

•Em PHP, por defeito as variáveis são locais, pelo que

não são acessíveis em todo o código.

Page 26: Php m18

26

Variáveis Globais e Locais em PHP

Por vezes, poderá ser necessário declarar variáveis

que necessitem de existir durante todo o código

(Variáveis Globais) ou apenas em certos momentos

do código (Variáveis Locais).

Page 27: Php m18

Exemplo1:

Uma variável definida dentro de uma função só existe dentro dessa função.

<?php

$a=3;

function ver() {

$b=$a+2; echo $b;}

ver();

echo"<br>";

echo $a;

echo"<br>"; echo $b;

?>

27

Page 28: Php m18

Exemplo 2:

Uma variável definida fora de uma função só existe fora dela.

<?php

$a=3;

function ver() { global $a;

$b=$a+2;

echo $b;}

ver(); echo"<br>";

echo $a;

echo"<br>";

echo $b;

?>

28

Page 29: Php m18

29

Estruturas de Controlo de Execução

Page 30: Php m18

30

Estruturas de controlo

As estruturas de controlo usadas em PHP são muito

semelhantes às usadas em C/C++ ou Javascript.

No entanto, em PHP existem, para algumas destas

estruturas, sintaxes alternativas semelhantes às que

se usam em Visual Basic ou VBScript.

Page 31: Php m18

31

Estrutura de decisão “IF – else”

if (condição) <bloco de instruções>;

[elseif (condição)

<bloco de instruções>; ]

[ else < bloco de instruções>;]

Esta estrutura é usada quando pretendemos executar acções distintas

dependendo das condições impostas.

Page 32: Php m18

32

Exemplo “IF – else”

<?php $x=5;

if ($x == 0)

{echo "Número" .$x;}

elseif ($x==1)

{echo "Número" .$x;} else

{echo "Número errado!!!" ;}

?>

Ficheiro: est_cont_if.php

Page 33: Php m18

33

Exercício

Resolver o exercício anterior, mas para um valor de X qualquer dado pelo

utilizador.

Resolução:

Est_cont_if2.php

Form_pedir_dados.php

Page 34: Php m18

34

Sintaxe alternativa do “IF - Else”

if (condição)

<bloco de instruções>;

[elseif (condição):

<bloco de instruções>; ]

[ else: < bloco de instruções>;]

endif;

Consiste em colocar 2 pontos após a condição if; após a condição

elseif (se existirem) e após a clausula else ( se esta existir). Indica-se

o fim da estrutura com a palavra endif.

Page 35: Php m18

35

Estrutura de selecção “ Switch - Case”

switch (expressão/selector){ case valor1: <bloco de instruções_1>; break;

case valor2: <bloco de instruções_2>; break

[default: < bloco de instruções_n>;] }

Page 36: Php m18

36

Sintaxe alternativa do “Switch – Case”

switch (expressão/selector){ case valor1: <bloco de instruções_1>; break;

case valor2: <bloco de instruções_2>; break

[default: < bloco de instruções_n>;]

endswitch;

Consiste em colocar 2 pontos após a expressão com base na qual

é tomada a decisão. O final da estrutura acaba com a palavra endswitch e ponto e vírgula. Inclui-se também uma instrução

“break” no final de cada case e bloco de instruções.

Page 37: Php m18

37

Estruturas de Controlo de Repetição

(CICLOS)

Page 38: Php m18

38

Ciclo WHILE

while (condição)

{<bloco de instruções>;}

Esta estrutura é usada quando pretendemos

executar acções distintas dependendo das condições

impostas.

Page 39: Php m18

Sintaxe alternativa “while”

while (condição):

{<bloco de instruções>;}

Endwhile;

Consiste em colocar 2 pontos após a condição de avaliação

do ciclo. O final da estrutura acaba com a palavra endwhile seguida de ponto e vírgula.

Page 40: Php m18

40

Ciclo DO - WHILE

do

{<bloco de instruções>}

while (condição);

Neste caso, o bloco de instruções do ciclo executa

sempre pelo menos uma vez, pois a condição de

controlo é colocada no final do ciclo.

Page 41: Php m18

Ciclo For

for (inicialização; condição;incremento)

{<bloco de instruções>;}

Page 42: Php m18

42

Ciclo Foreach

Este ciclo existente em PHP só pode ser usado com a

estrutura de dados ARRAY.

Page 43: Php m18

43

Funções

Page 44: Php m18

44

As funções em PHP são parecidas Às funções

apresentadas no Javascript. São definidas pela

palavra Function podendo, receber ou não

parâmetros, bem como retornar ou não valores.

Sintaxe:

Function nome_da_função ($paramtero1, parametro2,…)

{

<Bloco de instruções>;

Return [$valor ou expressão];

}

Page 45: Php m18

45

Algumas vantagens das funções:

-Permitem que o código fique mais perceptível e

menos confuso.

- Deixa de haver necessidade de repetir determinado

código ao longo do programa;

Page 46: Php m18

46

Exemplo1:

Function alerta ( )

{

Echo “Dados incorrectos!”;

}

Exemplo2:

Function soma ($valor1, $valor2 )

{

$soma_val = $valor1 + $valor2;

Return $soma_val;

}

Page 47: Php m18

Classes e Objectos

Page 48: Php m18

48

A linguagem PHP é do tipo POO (orientada a

objectos). Quer dizer que nesta linguagem existem

um conjunto de objectos que trocam mensagens

entre si. Imagine um objecto com nome “carro”.

Podemos definir este objecto como sendo um

conjunto de 4 rodas, volante, assentos, portas,

motor, etc. Quando pegamos no carro para o usar

não temos de pensar em todos os seus

componentes. Na programação o processo é o mesmo... Temos objectos constituídos por vários atributos

mas que se definem por uma só palavra. Para

criarmos um objecto, criamos primeiro uma classe.

Page 49: Php m18

49

Classe – é um conjunto de funções e variáveis que

posteriormente são serão concretizadas ou

instanciadas através de um objecto.

No exemplo seguinte será criada uma classe de

nome “humano”:

<?php

Class humano {

Function cabeca () {

echo “Olá eu sou a parte da cabeça!”;}

Function tronco(){

echo “Olá eu sou a parte do tronco”!;}

Function membros () {

echo “ Olá eu sou a parte dos membros!”;}

}

Continua no diapositivo seguinte…

Page 50: Php m18

50

$X = new humano; // declaração do objecto que representa a

classe humano e tem de ter o mesmo nome;

$X -> cabeca();

$X -> tronco();

$X -> membros();

?>

NOTA:

O acesso à classe faz-se através de um objecto

criado com o operador new seguido do nome da

classe respectiva.

Para acedermos ao conteúdo da classe(funções)

usamos o objecto criado, juntamente com o

operador -> e o nome da função.

Page 51: Php m18

51

Strings, aspas e caracteres especiais em PHP

Page 52: Php m18

52

Em PHP podemos escrever strings dentro de aspas

duplas ou simples.

-Instruções válidas:

echo “http//www.oi.com/”; echo “<br/>”;

echo ‘http//www.oi.com/’; echo ‘<br/>’;

-Instruções inválidas:

1 - echo ‘Developer´s Guide’;

2 - echo “C\Programas\”;

Corrigindo:

1 - $t1 = “Developer´s Guide”; echo”Titulo: $t1 <br/>”; ou

echo ´Titulo: ‘.$t1.’<br/>’;

2 - echo “C\\Programas\\”;

Page 53: Php m18

53

-Outros casos:

1 – Para escrevermos dentro de aspas:

echo “\” Manual de PHP\”;

2 – Para escrevermos o sinal $:

echo “ Valor em euros: \$25.00”;

Page 54: Php m18

54

Arrays

Page 55: Php m18

55

Um array é uma estrutura de dados que recebe um

nome e pode conter um determinado número de

elementos todos do mesmo tipo de dados.

O acesso aos dados do array faz-se indicando o

nome do array e um índice (posição do elemento no

array). No PHP os índices começam em zero. Em

PHP, um array pode ser uma estrutura mais

complexa.

Sintaxe:

$var = (valor1,valor2,…);

Exemplos:

$a =array(10,11,12); //Cria um array com 3 elementos

$nomes = array (‘Ana’,’Rui’,’Eva’);

Page 56: Php m18

56

Escrita dos valores de um array:

Echo $a[0]; // escreve 10

Echo $a[1];// escreve 11

Echo $a[2];// escreve 12

Ou

For($i=0;$i<3;$i++)

echo $a[$i]. ’ <br/>’;

Page 57: Php m18

57

Existe outro modo de criar um array em PHP.

Sintaxe:

$X [ ] = valor;

Exemplo:

$a[ ] = 3.14;

.Se ainda não existe o array $a, é criado um novo array

com 1 elemento.

.Se já existia o array $a, então é criado um novo elemento

e acrescentado ao array existente com o valor 3.14.

Um array assim criado começa só por ter 1 elemento. A

estes arrays podem ser acrescentados elementos em

qualquer altura. É aqui que surge a noção do ciclo

“Foreach”.

Page 58: Php m18

58

Ciclo Foreach

Este ciclo pode ser usado de 2 modos diferentes:

1 – foreach ($a as $valor) {instruções}

Exemplo:

foreach ($a as $valor)

echo $valor. ' <br/>';

Page 59: Php m18

59

Arrays associativos

Exemplo:

$N = array (‘Ana’ => 10; ‘Rui’ => 11; ‘Eva’ => 12);

O array $N tem a seguinte estrutura:

O 1ºelemento é identificado pela chave ’Ana’ e tem o valor 10;

O 2ºelemento é identificado pela chave ‘Rui’ e tem o valor 11….

Nota:

O array $_POST é um array associativo.

Page 60: Php m18

60

Funções em PHP

Page 61: Php m18

61

Funções em PHP

Sintaxe:

Function nome_função([parâmetros])

{

<instruções>

[return [valor ou expressão];]

}

Nota: em PHP não se indicam os tipos d edados dos

parâmetros, só os seus nomes.