Desenvolvimento Web I PHP

Desenvolvimento Web I PHP Tiago Lopes Telecken [email protected] Conteúdo     Arquitetura web Código PHP Váriáveis, Constantes Operadores – ...
0 downloads 1 Views 572KB Size
Desenvolvimento Web I PHP

Tiago Lopes Telecken [email protected]

Conteúdo  

 

Arquitetura web Código PHP Váriáveis, Constantes Operadores –

 

  

2

Aritiméticos relacionais, lógicos

Estruturas de controle Funções php PHP com banco de dados Objetos php Tópicos avançados

Arquitetura web Pg HTML,JS,CSS

URL + Dados

Interpretador (HTML,JS,CSS)

Servidor HTTP (Apache)

Navegador (IE, Moz)

Sistemas de arquivos

Sistema Operacional(Win, Linux) Cliente Web

3

SO

BD

PHP

Servidor Web

Arquitetura web 

Páginas estáticas –

– –



4

O cliente envia para a máquina servidora uma requisão que aponta par uma pg HTML que está no sistema de arquivos do servidor O servidor HTTP recebe a requisição, acessa a pg solicitada e envia de volta ao cliente Se a pg HTML conter outros códigos, como JavaScript, o código vai junto com a página enviada Se a pg HTML referencia arquivos externos (arquivos JS, CSS, etc) os arquivos referenciados também são enviados.

Arquitetura web 

Páginas dinâmicas –





O cliente envia para a máquina servidora uma requisão que aponta para uma pg PHP que está no sistema de arquivos do servidor. Eventualmente dados do cliente também são enviados (normalmente vindos de um formulário HTML) O servidor HTTP recebe a requisição, e acessa a pg solicitada A pg php solicitada conterá comandos e estes comandos serão executados. Os comandos são muito variados, como por exemplo:  





5

Construir uma pg html dinamicamente (a pg pode conter JS, css, etc) Acessar um BD (alterar e consultar) Acessar recursos do SO, Sistemas de arquivos e outros programas do servidor

Ao final da execução dos comandos, normalmente uma pg HTML é gerada e enviada de volta ao cliente

Referências http://www.php.net/ (Página oficial PHP)  http://www.php.net/manual/pt_BR/ (documentação em português)  http://apostilas.fok.com.br/manual-do-php/index.php (apostila php)  http://www.revistaphp.com.br/ (comunidade php)  http://www.phpbrasil.com/ (comunidade php)  http://pt.wikipedia.org/wiki/PHP (wiki) Editores  http://notepad-plus.sourceforge.net/br/site.htm (Notepad++)  Php editor  http://www.rj-texted.se/index.htm (rj-texted)  http://www.easyeclipse.org/site/distributions/php.html (easy eclipse for php)  www.zend.com/ (Zend ambiente de programacao php - comercial) Instalação  http://bitnami.org/ (Instal. postgres-apache-php Linux, windows)  http://bitnami.org/stack/wappstack (instalacao windows postgres-apache-php)  http://www.php.net/ (PHP)  http://www.postgresql.org/ (postgres)  http://www.postgresql.org.br/ (postgres)  http://www.apache.org/ (apache)  http://phppgadmin.sourceforge.net/ (phppgadmin)  www.easyphp.org/ (php,apache, mysql)  www.usbwebserver.com (ambiente php no pendrive) 

6

Referências

  



7

Niederauer, Juliano. PHP para quem conhece PHP. São Paulo: Novatec, 3ª. Edição, 2008 Dall´oglio, Pablo. PHP - Programando com Orientação a Objetos. São Paulo: Novatec. Soares, Walace. PHP5 - Conceitos, Programação e Integração Banco de Dados. São Paulo: Érica, 2004. Converse,Tim; Park, Joyce. PHP, a Biblia. São Paulo: Campus/Elsevier, 2003.

O PHP   

PHP - Hypertext Preprocessor Linguagem de programação para sistemas Web (servidor). A mais difundida de sua categoria Versões: –

– –



8



PHP/FI: (Personal Home Page/Forms Interpreter) Criada em 1994 por Rasmus Lerdorf. Conjunto de scripts voltados a criação de páginas dinâmicas. Em 19995 o código fonte do php foi disponibilizado na web. PHP/FI 2: lançada em 1997. Neste ano aproximadamente 1% dos dominios da internet utilizavam php. PHP3: (Hypertext Preprocessor) disponibilizado em 1998. Extensibilidade (API), conexão com BD e outros sistemas, orientação a objetos. Ao final de 1998 o php já estava presente em 10% dos domínios da internet. PHP4: Lançado em 2000. Melhoria em recursos, performace, modularidade.Uso: 20% dos domínios. PHP5: Lançado em 2004. Mudança no modo de orientação a objetos.

O PHP – O programa 





9

Um programa PHP roda no servidor, pode interagir com BD, SO e outros sistemas do Servidor. É uma página (um arquivo texto interpretado pela Engine PHP) que além de interagir com sistemas do servidor pode montar pgs HTML e envia-las para clientes web As páginas PHP devem ser salvas com a extensão .php . Entretanto também pode-se salvar páginas com as extensões: .php3, php4, phtml

PHP a linguagem 

   

10

Interpretada (não precisa compilar o código) Fracamente tipada (definição de tipos de dados flexível) Sintaxe semelhante ao Java, JavaScript, C PHP é case sensitive O código PHP pode ser misturado com outros textos/códigos

Delimitadores Um código PHP deve estar entre delimitadores  Todo comando PHP deve ser separado por ;  Outros delimitadores: 

11

Comentários 

Uma linha –





// ola # ola

Várias linhas /* ola ola */

12

Escrevendo na página do cliente 

O comando “echo” escreve um texto na página que será montada e enviada ao cliente



13

Escrevendo – Caracteres especiais

14

Escrevendo 

Pode-se escrever na página do cliente simplesmente colocando o texto fora dos delimitadores

Ola Mundo fora do PHP! 15

Escrevendo 

Pode-se intercalar vários trechos de texto e código php

Ola Mundo fora do PHP1! Ola Mundo fora do PHP2!

16

Escrevendo 

17

Pode-se escrever código HTML no arquivo que será enviado para o cliente. E quando o navegador do cliente recebe um código HTML ele é interpretado Ola mundo fora do php

Escrevendo Ola Mundo Ola mundo fora do php

Ola Mundo Ola mundo fora do php

18

Escrevendo 

Pode-se escrever qualquer texto que possa ser colocado em uma página HTML. Depois, no cliente, este texto será interpretado (Ex: JavaScript) Ola mundo com HTML
document.write(‘Ola mundo JS!
’);





19

Escrevendo Ola mundo com HTML
document.write(‘Ola mundo JS!
’); document.write(‘Ola mundo JS!Escrito com php
’); Ola mundo com HTML!Escrito com PHP

20

Escrevendo 



21

O comando echo e os textos fora dos delimitadores escrevem qualquer texto em um arquivo que será enviado para o cliente (Um navegador web). Se o arquivo que chegar for HTML ele será interpretado como HTML, se for Java Script será interpretado como JavaScript. Se chegar com erros de sintaxe a página irá gerar erros ou outros efeitos indesejáveis. (O interpretador php não detecta erros do HTML, JS, etc )

Variáveis Para criar variáveis utiliza-se o operador de atribuição “=“  O nome das variáveis devem começar por “$” $nome = ‘João ’; $sobrenome= ‘Silva’; echo “$nome $sobrenome”; // mostra: João Silva echo ‘$nome $sobrenome’; //mostra: $nome $sobrenome // “ ” substitui as variáveis por seu conteúdo // ’ ’ escreve sem substituir 

echo $nome. “ da ”. $sobrenome; // João da Silva 22 // “.” concatenador

Variáveis Variáveis variantes: são variáveis que podem trocar de nome e conteúdo $teste=‘gerente’; $$teste=‘Maria’; //cria uma variável cujo nome //é igual ao conteúdo do teste //(gerente) e o conteúdo é Maria 

echo $gerente; //Vai escrever Maria

23

Variáveis Variáveis podem receber o conteudo de outras variáveis $a=5; $b=$a; $b=10; echo $a; //mostra 5 echo $b; //mostra 10 

24

Variáveis Variáveis podem apontar para uma mesma área na memória $a=5; $b=&$a; //$b apontará para o mesmo end. de $a $b=10; echo $a; //mostra 10 echo $b; //mostra 10 

// Recurso similar aos ponteiros do C 25

Tipos de variáveis 

Booleano –

TRUE ou FALSE

$mostrar=TRUE; If ($mostrar) { echo ‘Ola’; }

$a=10; $b=(5 > $a); echo $b; //imprime FALSE



Também são considerados FALSE –

26

0 ; 0.0 ; “0”; NULL ; string vazia; array vazio

Tipos de variáveis 

Tipo numérico –

– –

– –

27

$a= 1022; // inteiro $a= -1022; // negativo $a= 10.22; // ponto flutuante $a= 0x1A; // hexadecimal $a= 4e23; // notação científica

Tipos de variáveis 

String –







28

$a=‘ola’; $a=“Ola”;

Array Objeto

Convertendo tipos - settype 



29

Convertendo tipos – type casting As moldagens permitidas são: (int), (integer) - converte para inteiro (bool), (boolean) - converte para booleano (float), (double), (real) - converte para ponto flutuante (string) - converte para string (binary) - converte para string binária (PHP 6) (array) - converte para array (object) - converte para objeto

30

Constantes Os valores só podem ser boolean, inteiro, ponto flutuante ou string  Utiliza-se o comando “define” 

31

32

Operadores - Atribuição



  

33

$a = 5; $a++; //$a= $a+1; $a--; $a+=5; //$a=$a+5;

Operadores Concatenação 

.

$b=“ola1”; $c=“ola2”; a$=$b.”texto1”.” texto2 ”.$b.$c; echo $a;

34

Operadores Aritiméticos

Operador

35

Ação

$a + $b

// Adição soma $a mais $b

$a - $b

// Subtração subtrai $a de $b

$a * $b

// multiplicação de $a por $b

$a / $b

// divisão de $a por $b

$a % $b

// Resto resto da divisão de $a por $b

Operadores de comparação

Ex.

Nome

Resultado

$a != $b

Diferente

Verdadeiro se $a não for igual a $b.

$a $b Diferente

Verdadeiro se $a não for igual a $b.

$a < $b

Menor que

Verdadeiro se $a é estritamente menor que $b.

$a > $b

Maior que

Verdadeiro se $a é estritamente maior que $b.

$a = $b

Maior ou igual

Verdadeiro se $a é maior ou igual a $b.

36

Operadores lógicos Exemplo

Nome

Resultado

$a and $b

E

Verdadeiro (TRUE) se tanto $a quanto $b são verdadeiros.

$a && $b E

Verdadeiro se tanto $a quanto $b são verdadeiros.

$a or $b

OU

Verdadeiro se $a ou $b são verdadeiros.

$a || $b

OU

Verdadeiro se $a ou $b são verdadeiros.

$a xor $b

XOR

Verdadeiro se $a ou $b são verdadeiros, mas não ambos.

! $a

NÃO

Verdadeiro se $a não é verdadeiro.

37

Precedência dos operadores 1 Operador

2 Operador

new

^

[

|

! ~ ++ -- (int) (float) (string) (array) (object) @

&&

*/%

?:

+-. >

= += -= *= /= .= %= &= |= ^= =

< >=

print

== != === !==

and

&

xor

||

or ,

38

Estruturas de controle 

IF, ELSE, ELSEIF



39

Estruturas de controle Switch 

40

Estruturas de controle While  Do...While 41 

Estruturas de controle For for ($i = 1; $i 

43

Array Listas de valores (números, strings, objetos, etc) referenciados por uma chave 

44

Estruturas de controle sobre array Foreach $arr = array("um", "dois", "tres"); 45

Estruturas de controle sobre array

Arrays multidimencionais 



47

São arrays de arrays

Arrays multidimensionais

48

Manipulando Arrays Função

array_values (meu_array) asort(meu_array) e arsort(meu_array) count(meu_array) ksort(meu_array) e krsort(meu_array)

Descrição Lista os valores contidos em meu_array

Ordena por ordem alfabética direta ou inversa em função dos valores Retorna o número de elementos do nosso array Ordena por ordem alfabética direta ou inversa em função das chaves

list ($variavel1, Atribui cada variável a cada um dos valores do $variavel2...)=meu_ar array ray next(meu_array), prev(meu_array), reset(meu_array) y end(meu_array)

49

each(meu_array)

Permite mover por dentro do array com um ponteiro para frente,para trás, ao principio e ao fim. Retorna o valor e a chave do elemento no qual nos encontramos e mexe o ponteiro ao elemento

50

Recebendo dados do usuário - Form As informações podem ser passadas por 2 métodos: GET e POST. Ex: Campo 1:
Campo 2:


No "script.php":

51

No caso do método GET, deve-se usar $_GET no lugar de $_POST. Em vez de usar $_GET ou $_POST pode-se escrever a variável com o mesmo nome do campo do formulário (no exemplo, $campo1 e $campo2). Mas, esse uso não é recomendado, pois se a diretiva "register_globals" na configuração do seu PHP estiver desativada, as variáveis com nome dos campos dos formulários, terão um valor vazio.

Campos Hidden Os campos hidden são usados para passar informações que não podem ser alteradas pelo usuário. Exemplo: hidden.html hidden.php

52

Campos Text e Textarea

texts.html Nome:
Email:

Mensagem:
texts.php

53

Campos Radio

54

Campos Radio têm múltiplos valores, mas somente um pode ser pré-exibido ou selecionado. Códigos Exemplos: radio.html Qual seu sistema operacional?
Win 98 Win XP Linux Mac

Qual a marca de seu monitor?
Samsung LG Desconhecido

radio.php

Campos Checkbox O tipo Checkbox tem somente um possível valor por entrada: on value (marcado) ou no value (desmarcado). No script você deve fazer a verificação para saber se o campo foi marcado ou não. É possível também utilizar grupos de checkbox com o mesmo nome. Deve-se adicionar "[]" no final do nome, para o PHP interpretar como array, veja o código exemplo. checkbox.html Escolha os numeros de sua preferência:
10
100
1000
10000
90
50
30
15

Receber Newsletter?



55

Check box

56

checkbox.php

Campos Select Os campos select permitem tratar uma variedade de opções, onde o usuário pode selecionar apenas uma opção ou múltiplas opções. Quando você permite múltiplas seleções, deve adicionar "[]" no final do nome, para o PHP interpretar como array. select.html Qual seu processador?
Pentium AMD Celeron

Livros que deseja comprar?
Obs: segure "CTRL" para selecionar mais de um.
Biblia do PHP 4 PHP Professional Iniciando em PHP Novidades do PHP 5 Biblia do MySQL



57

Select select.php

58



Formulários - Encontrando erros  

59

print_r($_POST) print_r($_GET)

Exercício

60

Desenvolvimento Web I PHP

Tiago Lopes Telecken [email protected]