A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tópicos avançados em internet A

Apresentações semelhantes


Apresentação em tema: "Tópicos avançados em internet A"— Transcrição da apresentação:

1 Tópicos avançados em internet A
Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

2 PHP Conceitos básicos Crédito: Material baseado no material da Profa. Beatriz Wilges – UFSC / Senac TI

3 Visão geral da linguagem HTML.
HTML (Hyper Text Markup Language) ou Linguagem de Marcação de Hipertexto. Os arquivos recebem a extensão ".html" ou ".htm". O formato genérico de uma tag é <nome da tag>texto</nome da tag> Todo e qualquer código html é iniciado <html> e finalizado </html>.

4 Visão geral da linguagem HTML.
Cabeçalho Delimitam a seção de cabeçalho do documento. Trata-se da primeira seção do documento. <head></head> Título Indica o titulo do documento que será apresentado na barra superior do browser. <title></title> Corpo Entre esse código fica a maior parte do conteúdo a ser apresentado, textos, imagens etc. <body></body> Informações O elemento meta é usado para prover informações que são relevante para os navegadores ou para as ferramentas de busca como a descrição do conteúdo do seu documento. <meta http-equiv="Content-Type" content="text/html; charset=iso ">

5 Visão geral da linguagem HTML.
Conclusão <html> <head> <title>Aqui ficará o titulo do meu site!!!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso "> </head> <body> Aqui ficará o conteúdo do seu site. </body> </html>

6 Introdução ao PHP PHP significa: Hypertext Preprocessor.
PHP é uma linguagem de criação de scripts embutida em HTML no servidor. O PHP está atualmente na versão 5. PHP tem pouca relação com layout. O PHP é um módulo oficial do servidor http Apache. Uma linguagem extremamente modularizada. 35% da Internet roda PHP.

7 Introdução ao PHP O PHP é Software Livre, distribuído sob uma licença na qual os usuários não são obrigados a publicar seu código. PHP é disponível para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, IRIX e Solaris. Bases de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc.

8 Introdução ao PHP A linguagem PHP é uma linguagem de programação de domínio específico. Características: Velocidade e robustez; Estruturado e orientação a objeto; Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar; Tipagem fraca; Sintaxe similar a Linguagem C/C++ e o PERL;

9 História Rasmus Lerdorf - engenheiro de software, membro da equipe Apache e o homem misterioso do ano Tratava−se de um wrapper de PerlCGI que o auxiliava a monitorar as pessoas que acessavam o seu site pessoal No ano seguinte, ele montou um pacote chamado de Personal Home Page Tools (também conhecido como PHP Construction Kit) 1997, o PHP estava sendo utilizado mundialmente em aproximadamente sites. Zeev Suraski e Andi Gutmans, dois programadores israelenses que desenvolveram os analisadores de sintaxe PHP3 e PHP4, também generalizaram e estenderam seus trabalhos sob a rubrica de Zend.com (Zeev, Andi, Zend, entendeu?)

10

11 Tabela comparativa

12 Sintaxe básica Delimitando o código PHP <?php comandos; ?>
<script language=”php”> </script> ", "width": "800" }

13 Sintaxe básica Delimitando o código PHP <? comandos; ?>
<% %>

14 Sintaxe básica Escapando o HTML
<p>Isto vai ser ignorado.</p> <?php  echo 'Enquanto isto vai ser interpretado.';  ?> <p>Isto também vai ser ignorado.</p>

15 Sintaxe básica Separação de instruções
Instruções são terminadas com um ponto-e-vírgula. <?php     echo 'Este é um teste'; ?>

16 Sintaxe básica Nomes de variáveis
Toda variável em PHP tem seu nome composto pelo caracter $ e uma string. deve iniciar por uma letra ou o caracter “_” PHP é case sensitive, ou seja, as variáveis $php e $PHP são diferentes. Evitar os nomes em maiúsculas.

17 Comentários Sintaxe básica
<?php    echo 'Isto é um teste'; // Estilo de comentário de uma linha em  c++.     /* Este é um comentário  de bloco.*/      echo 'Isto é ainda outro teste'; echo 'Um teste final'; # Este é um comentário de uma linha no estilo shell ?>

18 Tipos suportados 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

19 Tipos suportados Boolean Integer
Um booleano expressa um valor de verdade. Ele pode ser TRUE ou FALSE. Integer <?php $a = 1234; // número decimal $a = -123; // um número negativo $a = 0123; // número octal (equivalente a 83 em decimal) $a = 0x1A; // número hexadecimal (equivalente a 26 em decimal) ?>

20 Tipos suportados Float String <?php $a = 1.234; $b = 1.2e3;
$c = 7E-10; ?> String Uma string é uma série de caracteres. Um caracter é o mesmo que um byte. Ou seja, há exatamente 256 caracteres diferentes possíveis. <?php echo 'isto é uma string comum'; // Imprime: Arnold disse uma vez: "I\'ll be back" echo 'Arnold disse uma vez: "I\'ll be back"';

21 Tipos suportados array Object
Um array no PHP é atualmente um mapa ordenado. Um mapa é um tipo que relaciona valores para chaves. <?php // Criando um array normal $array = array(1, 2, 3, 4, 5); print_r($array) ?> Object Para inicializar um objeto, você usa a instrução new

22 Tipos suportados resource NULL
Recurso é uma variável especial, mantendo uma referência de recurso externo. NULL O valor especial NULL representa que a variável não tem valor. NULL é o único valor possível do tipo NULL.

23 Aspas Invertidas (`) - Executar comandos do SO através do PHP.
Dados alfanuméricos Aspas Simples (') - o valor da variável será exatamente o texto contido entre as aspas. com exceção de \\ e \' Aspas Dupla (“) - Qualquer variável ou caracter de escape será expandido antes de ser atribuído. Aspas Invertidas (`) - Executar comandos do SO através do PHP. 23

24 Aspas duplas(“) Sequências de controle 24

25 Constantes São valores que são pré-definidos no início do programa.
Comando define (string nome, misto valor, [bool case_insensitive]) define ("pi", ); $circunf = 2*pi*$raio; Por convenção, o nomes de constantes são sempre em maiúsculas. 25

26 Constantes O PHP já possui diversas constantes pré-definidas.
Para ter acesso as constantes pré-definidas é possível usar a função phpinfo(). Constantes: TRUE, FALSE, _FILE_ , _LINE_, PHP_VERSION, PHP_OS, E_ERROR, E_WARNING, E_PARSE, E_NOTICE. 26

27 Variáveis Existem váriaveis do tipo numéricas, alfanuméricas, arrays e objetos. Numéricas: Inteiros ou reais $numero = 10; $x = 5; $numero_hexa = 0x0b; $y = 200.3; 27

28 Variáveis Alfanuméricas(strings) $nome = 'Claudiomar';
$profissao = 'Pedreiro'; $texto = “Boa tarde! \n Seja bem-vindo!”; Array $vetor[0] = 30; $vetor[1] = 40; $vetor[2] = 50; $vetor[3] = 60; 28

29 Variáveis Array $vet[ ] = “Grêmio”; $vet[ ] = “Campeão”;
Array com chave associativa $vetor[“time”] = “Grêmio”; $vetor[“titulo”] = “Campeão da américa”; 29

30 Variáveis Váriaveis variaveis
O PHP tem um recurso conhecido como variáveis variáveis, que consiste em variáveis cujos nomes também são variáveis. Sua utilização é feita através do duplo cifrão ($$). $a = “teste”; $$a = “Testando variaveis”; Equivalente a $teste = “Testando variaveis”;

31 Variáveis enviadas pelo navegador
Para interagir com a navegação feita pelo usuário, é necessário que o PHP possa enviar e receber informações para o software de navegação. A maneira de enviar informações geralmente é através de um comando de impressão, como o echo. Para receber informações usa-se as variáveis pré-definidas: $_GET  Array com variáveis passadas via GET $_POST  Array com variáveis passadas via POST $_REQUEST  Array com variáveis de requisição

32 Variáveis enviadas pelo navegador
Exemplo de requisição Para o script obter as variáveis usamos <? $var1 = $_REQUEST[‘valor1’]; // ou $_GET[‘valor1’] $var2 = $_REQUEST[‘valor2’]; // ou $_GET[‘valor2’] echo “VAR1: $var1 – VAR2: $var2 <br>”; ?>

33 URL encode O formato urlencode é obtido substituindo os espaços pelo caracter “+” e todos os outros caracteres não alfa−numéricos (com exceção de “_”) pelo caracter “%” seguido do código ASCII em hexadecimal. Por exemplo: o texto “Testando !!” em urlencode fica “Testando %21%21” O PHP possui duas funções para tratar com texto em urlencode. Seguem suas sintaxes: string urlencode(string texto); string urldecode(string texto);

34 Variáveis de ambiente PHP possui diversas variáveis de ambiente
Exemplo: $PHP_SELF Para ver relação completa usar a função phpinfo();

35 Variáveis prédefinidas
Superglobais — Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos $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

36 Verificando tipo de uma variável
Por causa da tipagem dinâmica utilizada pelo PHP, nem sempre é possível saber qual o tipo de uma variável em determinado instantes não contar com a ajuda de algumas funções que ajudam a verificar isso. A verificação pode ser feita usando a função gettype string gettype(mixed var); A palavra “mixed” indica que a variável var pode ser de diversos tipos. A função gettype pode retornar as seguintes strings: “integer”, “double”, “string”, “array”, “object” e “unknown type”.

37 Verificando se uma variável possui um valor
Usar a função isset(); int isset(mixed var); E retorna true se a variável estiver setada (ainda que com uma string vazia ou o valor zero), e false em caso contrário.

38 Expressões As formas mais básicas de expressões são constantes e variáveis. Exemplo: Quando você digita "$a = 5", você está atribuindo '5' para a variável $a. Assim se você escrever $b = $a, você pode esperar que $b se comporte da mesma forma. Exemplos ligeiramente mais complexos para expressões são as funções. 38

39 Operadores Operadores aritméticos; Operadores binários;
Operadores de comparação; Operadores de atribuição; Operadores lógicos; Operador Ternário; 39

40 Operadores Operadores aritméticos: 40

41 Operadores Operadores binários: 41

42 Operadores Operadores comparação: 42

43 Operadores Operadores atribuição: 43

44 Operadores Operadores lógicos: 44

45 Operadores Operadores ternário: Forma abreviada de usar o comando “if”
Sua sintaxe é: Condição? Expressão1 : Expressão2 45

46 Operadores Operadores ternário: Forma abreviada de usar o comando “if”
Sua sintaxe é: Condição? Expressão1 : Expressão2 46

47 Precedência de operadores
47

48 Precedência de operadores
48

49 Lógica e estruturas de controle

50 Tabela verdade Conectivo de conjunção(“AND" - representado por ^)
A: Maria tem um gato B: José tem um cachorro A proposição composta A^B será: Maria tem um gato e José tem um cachorro Então, A^B somente é verdadeira se ambas as proposições são verdadeiras. Se ambas, ou uma delas é falsa, a proposição será falsa. A B A ^ B 1 50

51 Tabela verdade Conectivo de disjunção ( “OR" - representado por v)
1: Paulo é professor ou administrador 2: Maria é jovem ou idosa No primeiro caso, o "ou" é inclusivo pois, pelo menos uma das proposições é verdadeira, podendo ser ambas. Mas no caso da segunda, o "ou" é exclusivo, pois somente uma das proposições poderá ser verdadeira. A B A V B 1 51

52 Tabela verdade Tabela-verdade da disjunção "exclusiva" - XOR
1 Nota: Em nada se falando ao contrário, consideramos sempre o "ou"como "inclusivo". 52

53 Tabela verdade Tabela-verdade da implicação
1 Se a lua é quadrada então a neve é branca. : p -> q ( p é o antecedente e q o conseqüente) 53

54 Estruturas de controle
Comandos condicionais if (expressão) { instruções; } _____________________________________ Exemplo: <?php $a = 3; $b = 5; if ($a > $b) {     echo "a é maior que b";     $b = $a; ?> 54

55 Estruturas de controle
Comandos condicionais else Normalmente você vai querer executar uma instrução se uma certa condição for encontrada, e uma instrução diferente se a condição não for encontrada. Exemplo: <?php $a = 3; $b = 5; if ($a > $b) {     echo "a é maior que b"; } else {     echo "a NÃO é maior que b"; } ?> 55

56 Estruturas de controle
Comandos condicionais elseif Ao contrário de else, ele executará aquela expressão alternativa somente se a expressão condicional do elseif for avaliada como TRUE. Exemplo: <?php $a = 3; $b = 5; if ($a > $b) {     echo "a é maior que b"; } elseif ($a == $b) {     echo "a é igual a b"; } else {     echo "a é menor que b"; } ?> 56

57 Estruturas de controle
Comandos condicionais switch A instrução switch é similar a uma série de instruções “ifs” seguidas. Exemplo: <?php $i = 1; 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; } ?> <?php $i = 1; if ($i == 0) {      echo "i igual a 0"; } elseif ($i == 1) {      echo "i igual a 1"; } elseif ($i == 2) {      echo "i igual a 2"; } ?> switch if 57

58 Estruturas de controle
Comandos de repetição while Se comportam como seus compatíveis em C. O formato básico de um comando while é: while (expressao) instruções; __________________________________________________________________ <?php /* exemplo 1 */ $i = 1; while ($i <= 10) {     echo $i++;  /* O valor impresso será                    $i e depois $i será incrementado                    (post-increment). */ } ?> 58

59 Estruturas de controle
Comandos de repetição while <?php /* exemplo 2 */ $i = 1; while ($i <= 10):     echo $i;     $i++; endwhile; ?> 59

60 Estruturas de controle
Comandos de repetição do-while 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) . Exemplo: <?php $i = 0; do {     echo $i; } while ($i > 0); ?> 60

61 Estruturas de controle
Comandos de repetição for Se comporta como em C. A sintaxe de um loop for é: for (expr1; expr2; expr3) instrucoes; Exemplo: <?php /* exemplo 1 */ for ($i = 1; $i <= 10; $i++) {     echo $i; } ?> 61

62 Estruturas de controle
Comandos de repetição for Exemplo: <?php /* exemplo 2 */ for ($i = 1; ; $i++) {     if ($i > 10) {         break;     }     echo $i; } ?> 62

63 Estruturas de controle
Comandos de repetição for Exemplo: <?php /* exemplo 3 */ $i = 1; for (; ; ) {     if ($i > 10) {         break;     }     echo $i;     $i++; } ?> 63

64 Estruturas de controle
Comandos de repetição foreach Funciona somente com arrays, e lançará um erro se tentar utilizá-lo em uma variável de qualquer tipo diferente ou em variáveis não inicializadas. foreach (expressao_array as $valor) instrucoes foreach (expressao_array as $chave => $valor) instrucoes Exemplo: <?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) {     $value = $value * 2; } // $arr is now array(2, 4, 6, 8) unset($value); // quebra a referência com o último elemento ?> 64

65 Estruturas de controle
Controlar o fluxo dentro das repetições break Cancela a execução do comando for, foreach, while, do-while ou switch atual. Break aceita um argumento numérico opcional que diz a ele quantas estruturas aninhadas englobadas devem ser quebradas. 65

66 Estruturas de controle
break <?php $arr = array('um', 'dois', 'três', 'quatro', 'PARE', 'cinco'); while (list (, $val) = each ($arr)) {     if ($val == 'PARE') {         break;    /* Você poderia colocar 'break 1;' aqui. */     }     echo "$val<br>\n"; } /* Utilizando o argumento opcional. */ $i = 0; while (++$i) {     switch ($i) {     case 5:         echo "No 5<br />\n";         break 1;  /* Sai somente do switch. */     case 10:         echo "No 10; saindo<br />\n";         break 2;  /* Sai do switch e while. */     default:         break;     } } ?> 66

67 Estruturas de controle
return Se chamada em uma função, a instrução return() termina imediatamente a execução da função atual e retorna seu argumento como o valor da função. Se chamada no escopo global, a execução do script atual será terminada. Se o arquivo do script atual foi incluído com include() ou require(), então a execução é devolvida para o arquivo chamador. Especificamente para arquivos de script incluídos com include(), o valor fornecido para return() será devolvido como o valor da chamada include(). Se return() for chamado do arquivo de script principal, então o programa pára. 67

68 Funções

69 Funções definidas pelo usuário
Uma função pode ser definida usando a seguinte sintaxe Exemplos: <?php function foo ($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Exemplo de função.\n"; return $valor_retornado; } ?> Um nome de função válido começa com uma letra ou um sublinhado, seguido por qualquer número de letras, números ou sublinhado. 69

70 Funções definidas pelo usuário
Informações podem ser passadas para funções através da lista de argumentos, que é uma lista de expressões delimitados por vírgulas. O PHP suporta a passagem de argumentos por valor (o padrão), passagem por referência e valores padrões de argumento. Exemplo #1 Passando arrays para funções <?php function takes_array($input) {      echo "$input[0] + $input[1] = ", $input[0]+$input[1]; } ?>

71 Funções definidas pelo usuário
Exemplo #2 Passando parâmetros de função por referência Por padrão, argumentos de uma função são passados por valor (de forma que se você mudar o valor do parâmetro dentro da função, ele não é alterado fora da função). Se você deseja permitir que uma função modifique seus argumentos, você precisa passá-los por referência. <?php function add_some_extra(&$string) { $string .= ' e alguma coisa mais.'; } $str = 'Isto é uma string,'; add_some_extra($str); echo $str; // imprime 'Isto é uma string, e alguma coisa mais.' ?>

72 Funções definidas pelo usuário
Exemplo #3 Valores padrão de argumentos Uma função pode definir valores padrão no estilo C++ para argumentos escalares, como a seguir: <?php function cafeteira ($tipo = "cappuccino") {      return "Fazendo uma xícara de café $tipo.\n"; } echo cafeteira (); echo cafeteira ("expresso"); ?>

73 Retornando valores Valores podem ser retornados utilizando a instrução opcional return. Qualquer tipo pode ser retornado, incluindo arrays e objetos. Isto faz com que a função termine sua execução imediatamente e passe o controle de volta para a linha de onde ela foi chamada. Exemplo: <?php function quadrado ($num) {     return $num * $num; } echo quadrado (4);   // imprime '16'. ?>

74 Retornando valores Exemplo #2 Retornando um array para devolver vários valores <?php function numeros_pequenos() {      return array (0, 1, 2); } list ($a, $b, $c) = numeros_pequenos(); ?>

75 Funções recursivas Funções recusivas são aquelas funções que chamam a elas mesmas. <?php function teste ($valor) { If ($valor !=0) { echo “Foi chamada a função teste passando o valor $valor <br>”; Teste ($valor - 1); }  teste(7); ?>

76 Funções variáveis PHP permite o conceito de funções variáveis <?php class Foo {     function MetodoVariavel()     {         $name = 'Bar';         $this->$name(); // Isto chama o método Bar()     }     function Bar()     {         echo "Bar foi chamada!";     } } $foo = new Foo(); $funcname = "MetodoVariavel"; $foo->$funcname();  // Isto chama $foo->MetodoVariavel() ?>

77 Funções internas (built-in)
O PHP por padrão vem com várias funções e construtores. Eles podem ser funções que dependem de extensões específicas do PHP compiladas. Caso estas extensões não estejam compiladas você obterá erros fatais "undefined function". Por exemplo, para usar funções de imagem como a imagecreatetruecolor(), você precisa que seu PHP seja compilado com suporte ao GD. Ou, para utilizar mysql_connect() você precisará ter seu PHP compilado com suporte ao MySQL. Há várias funções centrais que são incluídas em cada versão do PHP como funções de strings e variáveis. Uma chamada a phpinfo() ou get_loaded_extensions() mostrará que extensões estão carregadas em seu PHP.

78 Utilizando includes

79 Criando um menu para seu site
Imagine um site que possui cerca de 100 páginas, e que no lado esquerdo das páginas há um menu com links para as seções do site; Se alguma seção for incluída ou excluída, como fazer para atualizar as 100 páginas? 79

80 Criando um menu para seu site
A função include tem o objetivo de incluir um arquivo dentro de outro. Sua sintaxe é a seguinte: include “nome_do_arquivo”; Se alguma seção for incluída ou excluída, como fazer para atualizar as 100 páginas? 80

81 Criando um menu para seu site
Passos para transformar um arquivo menu.inc em uma include: 1. Identificar no código HTML onde está o menu; 2. Retirar esse código HTML da página (ctr+c e ctr+v) 3. Salvar esse novo arquivo com menu.inc 4. No lugar de onde foi retirado, colocar uma chamada para a include entre as tags do PHP. 81

82 Criando um menu para seu site
Lembre-se: O arquivo menu.inc seria uma include que contém os comandos HTML para formar o menu principal do site. Então, em todas as páginas onde deve constar o menu, aparecerá uma chamada para include. Todas as páginas que possuem includes devem possuir a extensão “.php” 82

83 Exibindo a data atual com uma include
Podemos criar uma include que mostre a data atual, e chama-lá de todas as páginas em que é necessária a exibição da data. 83

84 Exibindo a data atual com uma include
Exemplo: <?php $meses = array (“Janeiro”, “Fevereiro”, “Março”, “Abril”, “Maio”, “Junho”, “Julho”, “Agosto”, “Setembro”, “Outubro”, “Novembro”, “Dezembro”); $dia = date (“d”, time( )); $mes = date (“m”, time( )); $ano = date (“Y”,time( )); echo $dia . “ de “ . $meses [$mes – 1]. “ de “ . $ano; ?> 84

85 Reutilização de código
Dentro das includes também podemos definir funções, e essas funções estarão disponíveis para todas as páginas.

86 Reutilização de código
Exemplo: <?php include “funcoes_aux.inc”; ?> <html> <body> <?php $nome = maiusculo ($nome); echo $nome; ?> </body> </html>

87 Include x Require Include é reavaliado a cada interação, ou seja, uma mesma instrução include pode incluir vários arquivos. Enquanto a instrução require pode incluir apenas um arquivo. Exemplo: $incluir = array (“funcoes_aux.inc”, “cabecalho.inc”, “data.inc”); Para realizar a inclusão dos arquivos fazemos um laço: for ($i = 0 ; $i < sizeof($incluir) ; $i ++) { require “$incluir[$i]; }

88 Include x Require A cada interação do laço a função include é reavaliada. Portanto o correto seria escrever: $incluir = array (“funcoes_aux.inc”, “cabecalho.inc”, “data.inc”); Para realizar a inclusão dos arquivos fazemos um laço: for ($i = 0 ; $i < sizeof($incluir) ; $i ++) { include “$incluir[$i]; }

89 Include x Require A instrução require() e include() inclui e avalia um arquivo. require() e include()são idênticos em todas as formas exceto pela manipulação de erros. Ambas produzem um Warning, mas require() resultará em um Fatal_Error. Em outras palavras, não hesite em utilizar require() se na falta de um arquivo quiser parar o processamento da página. Include() não se comporta da mesma maneira, e o script poderá continuar nessa situação. Em todo caso, vale a pena confirmar a configuração da diretiva include_path. 89


Carregar ppt "Tópicos avançados em internet A"

Apresentações semelhantes


Anúncios Google