• Nenhum resultado encontrado

PROGRAMAÇÃO WEB AULA 1. estrutura do curso e conceitos fundamentais. professor Luciano Roberto Rocha.

N/A
N/A
Protected

Academic year: 2021

Share "PROGRAMAÇÃO WEB AULA 1. estrutura do curso e conceitos fundamentais. professor Luciano Roberto Rocha."

Copied!
42
0
0

Texto

(1)

1

PROGRAMAÇÃO WEB

AULA

1

professor Luciano Roberto Rocha

www.lrocha.com

(2)

Conteúdo

programático

Conceitos;

Ambientes de Programação em Script; Tópicos na Linguagem de Programação; Abstração, e Diagramação;

Variáveis e tipos de Dados; Estrutura de programação; Tomada de decisão; Estruturas de Controle; Laços de Repetição; Matrizes; Manipulação de Arquivos. Uso de funções internas;

Integração da linguagem com SGBDs.

(3)

Competências

e habilidades

U t i l i z a r a s p r i n c i p a i s f e r r a m e n t a s d e

desenvolvimento em linguagem de script voltada

para Web.

Incentivar o interesse pela pesquisa em

informática e o aperfeiçoamento das técnicas de

programação.

Tornar o profissional apto ao desenvolvimento e

implementação de sistemas comerciais nas

principais linguagens de programação Web.

(4)

Procedimentos

didáticos

Exposição/Debate/Diálogo sobre conteúdo

proposto no plano de curso.

Realização de exercícios práticos com o auxílio

do laboratório de informática para aplicação e

utilização das diversas técnicas de programação

em linguagem PHP.

Desenvolvimento de dinâmicas em grupos e

estudo de casos pertinentes à disciplina.

(5)

Sistemática

de avaliação

Duas avaliações parciais, teóricas do conteúdo

ministrado em sala de aula com exercícios e

questões objetivas e/ou descritivas com peso de

4 pontos.

Duas avaliações bimestrais, teóricas ou práticas

dos conhecimentos trabalhados em sala de aula

por meio do desenvolvimento de exercícios de

implementação e aplicação dos temas

pertinentes a disciplina com peso de 6 pontos.

(6)

Referencial

teórico

BIBLIOGRAFIA BÁSICA:

MELONI , Julie C. Fundamentos de PHP. São Paulo: Ciência Moderna, 2000.

ZANDSTRA, Matt   Entendendo e Dominando o PHP.São Paulo: Digerati Books, 2006.

BIBLIOGRAFIA COMPLEMENTAR:

NEDERAUER, Juliano. PHP 5: Guia de Consulta Rápida 3a. Ed. São Paulo:Novatec 2008.

NEDERAUER, Juliano. Integrando PHP 5 Com MySQL: Guia de Consulta

Rápida São Paulo:Novatec 2008.

(7)

Recursos

tecnológicos

7

XAMPP

(8)

Conceitos

fundamentais

8

LINGUAGEM DE

PROGRAMAÇÃO

(9)

Arquitetura

de software

Modelo standalone

Modelo cliente-servidor

Modelo em n camadas (sistemas distribuídos)

Modelo em 3 camadas (apresentação-negócio-dados)

Sistemas baseados na Web

9

(10)

Todos  os  recursos  necessários  a  execução  do  programa  estão  localizados  em  apenas  uma  máquina

Interface  com  o  usuário

Sistema  de  arquivos Processos

SGBD

Plataforma  de  execução

(11)

Aplicação  dividida  em  duas  camadas

Interface  com  o  usuário

Sistema  de   arquivos Processos SGBD Cliente  (gordo) Servidor

Requisição (request) - Input Resposta (response) - Output

(12)

Modelo  dividido  em  três  camadas

Interface  com  o  usuário

Sistema  de   arquivos Processos SGBD Cliente  (magro) Servidor  WEB Processos

Sistemas  legados,  SGBDs,  etc.  

Sistema  de   arquivos

Requisição (request) - Input Resposta (response) - Output

(13)

Fonte:  

Market  Share  by  Net  ApplicaKons mai-­‐ago/2009 65,85% 22,39% 8,46% 1,74% 0,70% 0,56%

Principais

Web-Browsers

(14)

usuário

browser url

servidor  web

Requisição (request) - Input Resposta (response) - Output

arquivos path h#p Textos Imagens vídeos Textos Imagens vídeos link

(15)

2. É um script PHP!

Requisição (request) - Input Resposta (response) - Output

5. O servidor Web envia a página HTML ao cliente.

6. O cliente (browser) exibe ao usuário o conteúdo HTML.

USUÁRIO

SERVIDOR WEB

1. O c l i e n t e ( b r o w s e r ) solicita uma página ao servidor Web.

3. O s e r v i d o r W e b aciona o módulo PHP.

4. O módulo PHP interpreta os trechos em PHP do script e devolve ao servidor Web a página processada.

Exibição

páginas dinâmicas

(16)

Requisição (request) - Input Resposta (response) - Output

6. O servidor Web envia a página HTML ao cliente.

SERVIDOR WEB

2. O servidor Web aciona o módulo PHP.

Acesso

à base de dados

Integração  HTML  +  PHP  +  PostgreSQL 3. O script PHP estabelece a conexão com o SGBD, e executa a consulta. SGBD PostgreSQL 1. O cliente (browser) solicita uma página ao servidor Web.

4. O SGBD interpreta a instrução SQL e envia ao PHP u m r e c u r s o d e c o n s u l t a (resource) com o conjunto de resultados.

5. O PHP processa os valores do recurso (resource) e devolve ao servidor Web a página formatada em HTML.

(17)

surgiu por volta de 1994 criado por

Rasmus Ledorf com o nome de

P

ersonal

H

ome

P

age Tools para substituir um

conjunto de scripts Perl que ele usava no

desenvolvimento de sua página pessoal;

Mais tarde Zeev Suraski e Andi Gutmans reescreveram o

analisador do PHP que contava com o primeiro recurso de

orientação a objetos;

Hoje o termo PHP é um acrônimo recursivo para “Hypertext

Preprocessor” (pré-processador de hipertextos)

(18)

linguagem extremamente modularizada, ideal para uso

web

seu propósito principal é de implementar soluções web

velozes, simples e eficientes

pode ser embarcada no código HTML

provê suporte a um grande número de bases de dados

suporta os protocolos: IMAP, SNMP, NNTP, POP3, HTTP,

LDAP, XML-RPC, SOAP.

(19)

open source

código executado no servidor (server-side)

velocidade e robustez

independência de plataforma

estruturado e orientação a objeto

portabilidade: "Write once, run anywhere“

curva de aprendizagem curta

tipagem fraca

sintaxe similar a linguagem C/C++ e o PERL

(20)

Tags de abertura e fechamento do código php

Sintaxe

Básica

<?php

  linha  1

  linha  2

  ...

?>

<?

  linha  1

  linha  2

  ...

?>

<script  language  =  “php”>

  linha  1

  linha  2

  ...

</script>

<%

  linha  1

  linha  2

  ...

%>

1

2

3

4

(21)

Tags de abertura e fechamento do código php

Exemplos:

Sintaxe Básica

1.  <?php echo 'se você quer servir documentos XHTML ou XML, faça assim'; ?> 2. <script language="php">

echo 'alguns editores (como FrontPage) não

gostam de instruções de processamento';

</script>

3. <? echo 'esta é a mais simples, uma instrução de processamento SGML'; ?>

4. <% echo 'Você pode opcionalmente usar tags no estilo ASP'; %>

• Enquanto as tags vistas nos exemplos um e dois estão sempre disponíveis, o exemplo um é mais comumente usado, e recomendado, das duas.

•Tags curtas (exemplo três) estão disponíveis apenas quando são ativadas pela configuração short_open_tag no arquivo php.ini. • Tags no estilo ASP (exemplo quatro) estão disponíveis apenas quando ativadas atráves da diretiva de configuração asp_tags no arquivo php.ini.

(22)

O PHP requer que as instruções sejam terminadas com um

ponto-e-vírgula ao final de cada comando.

A tag de fechamento de um bloco de código PHP

automaticamente implica em um ponto-e-vírgula; você não

precisa ter um ponto-e-vírgula terminando a última linha de um

bloco PHP.

A tag de fechamento irá incluir uma nova linha logo após, se

estiver presente.

Separação de instruções

<?php

echo 'Este é um teste';

?>

<?php echo 'Este é um teste' ?>

(23)

O PHP suporta comentários no estilo 'C', 'C++' e shell do Unix

shell (estilo Perl). Por exemplo:

Os comentários de estilo "uma linha" apenas comentam até o final da linha ou

do bloco PHP de código corrente, o que chegar primeiro.

 Isto significa que código HTML após // ... ?> ou # ... ?> SERÁ exibido:

Comentários

<?php

echo 'Isto é um teste'; // Estilo de comentário de uma linha em c++ echo 'Isto é ainda outro teste';

/* Este é um comentário de múltiplas linhas ainda outra linha de comentário */

echo 'Um teste final'; # Comentário de uma linha no estilo shell

?>

<h1>Isto é um <?php # echo 'simples';?> exemplo.</h1> <p>O cabeçalho acima irá dizer 'Isto é um exemplo'.</p>

(24)

O PHP suporta os oitos tipos primitivos.

São quatros tipos básicos:

 boolean  integer

 float (número de ponto flutuante, ou também double)  string

Dois tipos compostos:

 array  object

E finalmente dois tipos especiais:

 resource  NULL

(25)

O PHP não requer (ou suporta) a definição de tipo explícita na declaração de

variáveis: o tipo de uma variável é determinado pelo contexto em que a

variável é utilizada.

Isto significa que, se você atribuir um valor string para a variável $var , $var

se torna uma string. Se você então atribuir um valor inteiro para $var , ela

se torna um inteiro.

Tipos

<?php

$a_bool

=

TRUE

;

// um booleano

$a_str

=

"foo"

;

// uma string

$a_str2

=

'foo'

;

// uma string

$an_int

=

12

;

// um inteiro

$an_flt

=

1.63

;

// um float

(26)

Um exemplo da conversão automática do PHP é o operador de adição '+'.

Se qualquer um dos operadores for float, então todos os operadores são

avaliados como floats, e o resultado será um float. De outra forma, se os

operadores forem interpretados como integers então o resultado será um

integer.

Manipulação de Tipos

<?php

$foo = "0"; // $foo é string (ASCII 48)

$foo += 2; // $foo é agora um inteiro (2)

$foo = $foo + 1.3; // $foo é agora um float (3.3)

$foo = 5 + "10 pequenos porcos"; // $foo é inteiro (15)

$foo = 5 + "10.5 minúsculos porcos"; // $foo é float (15.5)

(27)

As variáveis no PHP são representadas por um cifrão ($) seguido pelo nome

da variável. Os nomes de variável no PHP fazem distinção entre maiúsculas e

minúsculas.

Um nome de variável válido se inicia com uma letra ou sublinhado, seguido

de qualquer número de letras, algarismos ou sublinhados.

Variáveis

<?php

$var = 'Bob';

$Var = 'Joe';

echo "$var, $Var"; // exibe "Bob, Joe"

$4site = 'not yet'; // inválido; começa com um número

$fração = 'not yet'; // inválido; possui caracteres especiais

$_4site = 'not yet'; // válido; começa com um sublinhado

$täyte = 'mansikka'; // válido; 'ä' é um caracter ASCII 228

(28)

O PHP oferece um grande número de variáveis pré-definidas para qualquer

script que ele execute.

Alguns exemplos:

 $GLOBALS — Referencia todas variáveis disponíveis no escopo global  $_SERVER — Informação do servidor e ambiente de execução

 $_GET — HTTP GET variáveis  $_POST — HTTP POST variables

 $_FILES — HTTP File Upload variáveis

 $_REQUEST — Variáveis de requisição HTTP  $_SESSION — Variáveis de sessão

 $_ENV — Environment variables  $_COOKIE — HTTP Cookies

 $php_errormsg — A mensagem de erro anterior

 $HTTP_RAW_POST_DATA — Informação não-tratada do POST  $http_response_header — Cabeçalhos de resposta HTTP  $argc — O número de argumentos passados para o script  $argv — Array de argumentos passados para o script

(29)

As principais categorias de operadores do PHP são:

Operadores de Atribuição

Operadores de String

Operadores Aritméticos

Operadores Relacionais (de comparação)

Operadores de Incremento/Decremento

Operadores Lógicos

Outros operadores menos utilizados:

Operador Bit-a-bit

Operadores de controle de erro

Operadores de Execução

Operadores de Arrays

Operadores de tipo

(30)

O operador básico de atribuição é "=". A sua primeira inclinação deve ser a de

pensar nisto como "é igual". Não. Isto quer dizer, na verdade, que o operando

da esquerda recebe o valor da expressão da direita (ou seja, "é configurado

para").

O valor de uma expressão de atribuição é o valor atribuído. Ou seja, o valor de

"$a = 3" é 3.

Além do operador básico de atribuição, há "operadores combinados“ que

permitem pegar um valor de uma expressão e então usar seu próprio valor

para o resultado daquela expressão. Por exemplo:

Operadores de Atribuição

<?php $a = 3;

$a += 5; // configura $a para 8, como se disséssemos: $a = $a + 5;

$b = "Bom ";

$b .= "Dia!"; // configura $b para "Bom Dia!", como em $b = $b . "Dia!";

(31)

Há dois operadores de string. O primeiro é o operador de concatenação ('.'),

que retorna a concatenação dos seus argumentos direito e esquerdo.

O segundo é o operador de atribuição de concatenação ('.='), que acrescenta

o argumento do lado direito no argumento do lado esquerdo.

 Exemplos:

Operadores de String

<?php

$a = "Olá ";

$b = $a . "mundo!"; // agora $b contém "Olá mundo!"

$a = "Olá ";

$a .= "mundo!"; // agora $a contém "Olá mundo!"

(32)

Lembra-se da aritmética básica da escola? Estes operadores funcionam

exatamente como aqueles.

Operadores Aritméticos

Exemplo Nome Resultado

-$a Negação Oposto de $a.

$a + $b Adição Soma de $a e $b.

$a - $b Subtração Diferença entre $a e $b. $a * $b Multiplicação Produto de $a e $b.

$a / $b Divisão Quociente de $a por $b.

(33)

Permitem que se estabeleça relação entre dois valores ou seja, realiza a

comparação entre dois valores.

Operadores Relacionais

Exemplo Nome Resultado

$a == $b Igual Verdadeiro (TRUE) se $a é igual a $b.

$a === $b Idêntico Verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo

tipo (introduzido no PHP4).

$a != $b Diferente Verdadeiro se $a não é igual a $b.

$a <> $b Diferente Verdadeiro se $a não é igual a $b.

$a !== $b Não idêntico Verdadeiro de $a não é igual a $b, ou eles não são do mesmo tipo (introduzido no PHP4).

$a < $b Menor que Verdadeiro se $a é estritamente menor que $b.

$a > $b Maior que Verdadeiro se $a é estritamente maior que $b.

$a <= $b Menor ou igual Verdadeiro se $a é menor ou igual a $b. $a >= $b Maior ou igual Verdadeiro se $a é maior ou igual a $b.

(34)

O PHP suporta operadores de pré e pós-incremento e decremento no estilo C.

Operadores de Incremento/

Decremento

Exemplo Nome Efeito

++$a Pré-incremento Incrementa $a em um, e então retorna $a. $a++ Pós-incremento Retorna $a, e então incrementa $a em um. --$a Pré-decremento Decrementa $a em um, e então retorna $a. $a-- Pós-decremento Retorna $a, e então decrementa $a em um.

(35)

Esses operadores são utilizados para realizar junções ou disjunções lógicas

entre valores.

Operadores de Lógicos

Exemplo Nome Resultado

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

$a or $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.

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

(36)

 A construção if é uma das mais importantes implementações de muitas linguagens,

incluindo o PHP.

 Ela permite a execução condicional de fragmentos de código. O PHP implementa uma

estrutura if que é similar aquela do C:

 Exemplo:

Estrutura de Controle - if

if (expressao) instrucoes

<?php

if ($a > $b)

echo "a é maior que b";

?>

// Quando existir mais de uma instrução utiliza-se os construtores { e }

<?php

if ($a > $b) {

echo "a é maior que b";

$b = $a;

}

(37)

 else estende um comando if para executar uma instrução caso a expressão no

comando if seja avaliada como FALSE.

 Exemplo:

 O comando else só é executado se a expressão if for avaliada como FALSE, e se

havendo qualquer expressão elseif, somente se todas elas forem avaliadas como FALSE também.

Estrutura de Controle - else

<?php

if ($a > $b) {

echo "a é maior que b";

} else {

echo "a NÃO é maior que b";

}

(38)

 elseif, como seu nome sugere, é uma combinação de if e else. Da mesma forma que o

else, ele estende um comando if para executar uma instrução diferente no caso de a expressão if original ser avaliada como FALSE. Porém, ao contrário de else, ele executará aquela expressão alternativa somente se a expressão condicional do elseif for avaliada como TRUE.

 Exemplo:

 Podem haver vários elseifs dentro da mesma instrução if.

 No PHP, você também pode escrever 'else if' (em duas palavras) e o comportamento será idêntico a um

'elseif' (em uma só palavra).

Estrutura de Controle -

elseif/

else if

<?php

if ($a > $b) {

echo "a é maior que b";

} elseif ($a == $b) {

echo "a é igual a b";

} else {

echo "a é menor que b b";

}

(39)

 while são o tipo mais simples de criar um 'loop' em PHP. Eles se comportam como seus

compatíveis em C. O formato básico de um comando while é:

 Ele pede que o PHP execute os comandos aninhados repetidamente, enquanto a

expressão do while é avaliada como TRUE. O valor da expressão é verificada cada vez que se passa no começo do 'loop', desta forma, mesmo que este valor mude durante a execução do(s) comando(s) aninhado(s), a execução não parará até o fim da iteração (cada vez que o PHP executa os comandos dentro do 'loop' é uma iteração).

Estrutura de Controle -

while

<?php

/* exemplo 1 */ $i = 1;

while ($i <= 10) {

echo $i++; /* o valor impresso será $i depois do acréscimo (post-increment) */

}

?>

(40)

Loops do-while são bem similares aos loops while, exceto pelo fato de que a condição

é verificada no fim de cada iteração em vez de no começo. A diferença principal dos loops while regulares é que a primeira iteração de um loop do-while é garantidamente executada (a condição só é verificada no fim da iteração)

Há apenas uma sintaxe para loops do-while:

 O loop acima rodaria exatamente uma vez, desde que depois da primeira iteração,

quando a condição é verificada, ela é avaliada como FALSE ($i não é maior que zero 0) e a execução do loop termina.

Estrutura de Controle -

do-while

<?php $i = 0; do { echo $i; } while ($i > 0); ?>

(41)

Loops for são os laços mais complexos em PHP. Eles se comportam como os seus

compatíveis em C. A sintaxe de um loop for é:

A primeira expressão (expr1) é avaliada (executada) uma vez incondicionalmente no começo do

loop.

No começo de cada iteração, expr2 é avaliada. Se ela é avaliada como TRUE, o loop continua e

o(s) comando(s) aninhado(s) é(são) executado(s). Se é avaliada como FALSE, a execução do 'loop' termina.

No fim de cada iteração, expr3 é avaliada (executada).

Estrutura de Controle -

for

<?php /* exemplo 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } ?>

(42)

A instrução switch é similar a uma série de instruções IFs seguidas. Em muitas

ocasiões, você poderá ter que comparar a mesma variável (ou expressão) com muitos valores diferentes, executando códigos diferentes dependendo com qual valor ele se encaixar. É exatamente para isso que a instrução switch faz.

 Os exemplos seguintes mostram duas maneiras diferentes de escrever a mesma coisa, uma

utilizando uma série de ifs e elseifs e a outra utlizando a instrução switch:

Estrutura de Controle -

switch

<?php

if ($i == 0) {

echo "i igual a 0";

} elseif ($i == 1) {

echo "i igual a 1";

} elseif ($i == 2) {

echo "i igual a 2";

}

?>

<?php

switch ($i) {

case 0:

echo "i igual a 0";

break;

case 1:

echo "i igual a 1";

break;

case 2:

echo "i igual a 2";

break; }

?>

Referências

Documentos relacionados

(4) tarefas para os alunos: dentro do material em PDF proporemos tarefas para os alunos: resolver questões de provas anteriores; copiar textos para o caderno do aluno; traduzir

Figura 2.Definições dos parâmetros com as proporções de padrão interno, fatores de escala para cada histograma (conjunto de dados ou difratograma), fatores de escala para cada fase

RNA viral foi de- tectado no teste RT-PCR para BVDV nos cinco animais ne- cropsiados e os produtos de amplificação obtidos de três deles, Bovino 1, Bovino 3 e Bovino 4

Concepções contemporâneas da Personalidade: concepções culturalistas, existencialistas, humanistas e sócio-históricas.. A Personalidade na teoria da

No jogo Blackjack, o que significam cartas entregues.

Estas tags são usadas mais frequentemente quando o sistema exige atribuição de tags aos recursos, os utilizadores atribuem estas tags para evitar a atribuição de outras

(i) em comparação as 30 tags mais utilizadas pelo sistema Delicious para um respectivo recurso Web, esta abordagem gerou tags representativas em comparação com as

Estas devem ser gerais e reconhecidamente importantes para bloquear um surto - como orientação dos profissionais sobre práticas de prevenção de infecção, higienização das mãos,