Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta...

Preview:

Citation preview

Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira FernandesDisciplina Ferramenta de Desenvolvimento

Material IV-Bimestre

Tratamento de Arquivos,Sessões, Upload e Conceitos de Orientação à

Objetoshttp://www1.univap.br/~wagner

Prof. Responsável

Wagner Santos C. de Jesus1

Conceito de Sessão

2

Sessão

Sessão significa reunião ou intervalo de tempo que dura uma atividade específica.

3

Sessão

Vem a ser uma forma de armazenar dados através da respectiva gravação, controlada pelo sistema, de um arquivo no servidor. O ato de gravar um arquivo de sessão é chamado de registrar na sessão.

4

Curva de duração de uma sessãox = -t2 onde t[-1≤ t ≤0]

5

Funcionamento de uma sessão

6

Pagina1.php

Session

Pagina2.php

$lista =1

$lista =1

Servidor

Memória

Algoritmo de uma sessão

7

Nome_Sessão

Criação_Sessão

Armazena_DadosSessão

Criação, Manipulação e encerramento de sessões

8

Função session_name()

Cria o nome de uma sessão para identificação de dados que serão armazenado na sessão.

Sintaxe:

session_name(<String>);

9

Funções session_start()

Cria uma nova sessão reservando um espaço de memória para criação dos dados da mesma.

Sintaxe:

session_start();

10

$_SESSION[] – Armazena dados na sessão

Grava dados a serem armazenados em uma sessão. Permitindo realizar alocação para um determinado dado.

Sintaxe:

$_SESSION[<String>];

11

Exemplo $_SESSION[]

O Array section permite o armazenamento dos dados no servidor.

Exemplo:

$_SESSION[‘login’] = ‘claudia’;

$_SESSION[‘senha’] = ‘7&m698’;

12

Encerramento

de uma sessão

13

session_unset()

Libera as variáveis de memória de uma sessão.

Sintaxe:

session_unset()

14

session_destroy()

Apaga uma sessão criada em uma página.

Sintaxe:

session_destroy();

15

Exemplo Prático de criação de sessão

<?php

session_start();

echo 'Bem vindo página 1';

$_SESSION['login'] = 'Roberta';

$_SESSION['senha'] = '7$9088';

echo '<br /><a href="sessao2.php">page 2</a>';

?>

16

Captura de dados da sessão

<?php

session_start();

echo 'Bem vindo página 2 <br>';

echo $_SESSION['login']."<br>";

echo $_SESSION['senha'];

?>

17

Tratamento de Exceção

18

Conceito de Exceção

O tratamento de exceção, na ciência da computação, é o mecanismo responsável pelo tratamento da ocorrência de condições que alteram o fluxo normal da execução de programas de computadores.

19

Funcionamento

Em geral, na ocorrência de uma exceção, o estado do programa é gravado em um local pré-definido e a sua execução é direcionada para uma rotina de tratamento. Dependendo da situação, a rotina de tratamento pode prosseguir a execução a partir do ponto que originou a exceção, utilizando a informação gravada para restaurar o estado.

20

Comportamento de Exceção

21

Fluxo Natural

Exceção Fluxo Exceção

Fluxo Natural

S

N

Fim

Comando de try{} (Tentar)

Cria um bloco de modelo de exceção e realiza a tentativa de execução até o final caso o processo seja totalmente executado então o programa na mudará de fluxo se algo não se comportar de maneira satisfatória o programa irá desviar o fluxo.

22

Funcionamento de try{} catch{}

23

try Algoritmo

catch

Finalização

Sintaxe try{}(Tentar) catch (Pegar)

try {

<Instruções_php>

} catch(<tipo_de_exceção>) {

<Instruções_php_exceção>

}24

Tratamento direto

<?php

try {

$x = 1/0;

echo $x;

} catch (Exception $e) {

echo 'Erro: Divisão por Zero !!! \n';

}

?>25

Tratamento pelo próprio interpretador sem envio da exceção.

trow{} – Lançar

Lança uma exceção para entrar em estado de alerta e vai ver se o método atual toma alguma precaução ao tentar executar esse trecho de código.

26

Exemplo de trow{}<?php

function inverse($x) {

if (!$x) {

throw new Exception('Divisão por zero.');

}

return 1/$x;

}

try {

inverse(5);

inverse(0);

} catch (Exception $e) {

echo 'Erro: ', $e->getMessage(), "\n";

} 27

Manipulação de Arquivo de Dados

28

Arquivo de Dados

Muitas informações precisam ler e escrever informações de um dispositivo de memória auxiliar. Essas informações são armazenadas no dispositivo na forma de um arquivo de dados. Os arquivos de dados nos permitem armazenar informações permanentemente e acessar e alterar essas informações sempre que necessário.

29

Usando Streams.

A manipulação de arquivo normalmente é feita por intermédio de um recurso do sistema operacional denominado Stream (que vem a ser cadeia de caracteres ou bytes).

Normalmente em C manipulamos arquivos de texto que são arquivo não formatados ou seja esse tipo de manipulação deve ser feita inteiramente por intermédio do programador que desenvolve a aplicação procedimento que da origem ao que chamamos de estrutura de banco de dados que são complexas e demando conhecimentos matemáticos de relacionamento intercessão.

30

Criando um arquivo de dados do tipo texto.

Para se trabalhar com um arquivo de dados do tipo texto, o primeiro passo é estabelecer um buffer, onde as informações são armazenadas temporariamente durante a transferencia entre memória e computador (Dispositivo de gravação).

31

32

EOF

Criando um Buffer.

Para se criar um buffer é necessário usar uma variável que é um tipo de estrutura especial que estabelece o buffer. Para dar nome ao buffer atribui-se a estrutura do arquivo ao próprio.

33

Abrindo e criando um arquivo - fopen()

• fopen() : Para se manipular um arquivo é preciso cria-lo para poder usar o recurso de leitura, e gravação. A função fopen retorna um ponteiro para o início do buffer associado ao arquivo. Um valor false é retornado quando o arquivo de dados não puder ser encontrado.

34

Sintaxe : <buffer> = fopen(<nome-arquivo>, <tipo-abertura>);

35

Exemplo :

$pt = fopen("c:/diretorio/teste.txt","r+");

Obs :

Este exemplo abre um arquivo já existente

para leitura e gravação.

36

Escrevendo dados em um Arquivo - fprintf()

Para gravar uma informação em um arquivo

usamos a função fprintf(), que permite escrever

um dado no buffer.

Sintaxe:

fprintf(<buffer>,<cadeia_Caracteres);

Obs : A cadeia de ser sempre do tipo char.

37

Exemplo :

fprintf($pt,“Aula de php");

38

Fechando um arquivo de dados - fclose()

Para se fechar um arquivo usamos a função fclose(), que permite remover todos os dados do buffer para o disco.

Sintaxe :

fclose(<nome_buffer>);

Exemplo :

fclose($pt); 39

Exemplo de um programa para escrever um dado no arquivo.

$fp = fopen("teste.txt",“w");

fprintf($fp,”Aula do IV Bimestre \r\n");

fclose($fp);

40

A expressão \r\n - Determinam <enter>. Marcador de fim de linha.

Leitura de um arquivo de dados - fgets(), feof().

Permite realizar a leitura de um ou mais registros em arquivo cada vez que fgets() é acionado desloca o ponteiro para o próximo registro até encontrar o final do arquivo. Que é indicado pela função feof(), que retorna verdadeiro caso o final do arquivo seja encontrado.

Sintaxe :

fgets(<Buffer>,<comprimento_bytes>);

feof(<Buffer>);

41

Exemplo leitura de arquivo<?php

$arquivo = fopen("teste.txt","r");

if(!$arquivo) {

echo "Arquivo não pode ser aberto !!";

}else {

while(!feof($arquivo)){

$linha = fgets($arquivo);

echo $linha."<br>";

}

}

fclose($arquivo);

?>42

Conceitos e Aplicações de Download e Upload

43

Download

 Termo utilizado para referenciar a obtenção de dados de um dispositivo através de um canal de comunicação.

44

Funcionamento Download

45

Upload

Carregamento é a transferência de dados de um computador local para outro computador ou para um servidor. Caso ambos estejam em rede, pode-se usar um servidor de FTP, HTTP ou qualquer outro protocolo que permita a transferência.

46

Upload

47

Transferência de Dados Cliente/Servidor

48

Envio de Arquivo (Cliente)

49

Dados Arquivo

multipart/form-data

File

submit

Servidor

submit

Cliente

Cliente (Envio de arquivo)

<?php

echo "<form name=form method=post action=upload.php enctype=multipart/form-data>";

echo " Escolha Arquivo: <input type=file name=Arquivo size=60 />";

echo "<Input type=submit value=Enviar>";

echo "</form>";

?>

50

Tratamento no Servidor

51

Servidor

tmp (Temporário)

File

Name (Real)

copy(temporario,real)

copy(): Escrever no servidor.

Sintaxe:

copy(<nome_lógico>,<nome_fisico>)

Exemplo:

copy(<tmp>,<name>);

52

Exemplo prático tratamento no servidor

<?php

$nome_temporario = $_FILES["Arquivo"]["tmp_name"];

$arq = $_FILES["Arquivo"]["name"];

$x = strrchr($arq,"pdf");

if(empty($x))

{

echo "<script>alert('Arquivo Inválido formato (pdf) !!')</script>";

}else {

$nome_real= “Caminho".$_FILES["Arquivo"]["name"];

$result = copy($nome_temporario,$nome_real);

}

?>

53

Conceitos e Aplicações de Orientação à Objetos

Usando PHP (POO)

54

Classe

Vem a ser uma estrutura de dados criada para dar origem ou modelar um objeto.

Carro

Propriedades

Marcha

Freio

Embreagem

Motor

Método :

Método vem a ser um grupo de instruções em uma classe que define como os objetos da classe se comportarão. Os métodos são análogos às funções em outras linguagens.

Método da classe carro

Devem ser descritos com uma ação (verbo) que podem controlar o estado do objeto.

Exemplo :

Mudar_Marcha(estado_marcha)

Marcha = estado_marcha{0,1,2,3,4....}

Freiar_carro(estado_freio)

Freio = estado_freio{true,false}

Estrutura de uma classe

Carro

Propriedades

Marcha

Freio

Embreagem

Motor

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

Objetos

É uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.

Exemplo de objeto

Carro obj_carro1 = Carro ()

Carro obj_carro2 = Carro ()

obj_carro1.Freiar_carro(true)

obj_carro1.Mudar_Marcha(3)

obj_carro2.Freiar_carro(false)

Herança

Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.

Estrutura de Herança

Veiculo

Propriedades

Marcha

Freio

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

Exemplo: Herança

Carro

Veiculo

Moto Bicicleta

Polimorfismo

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.

Exemplo: Polimorfismo

Carro

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

VeiculoHerda

Polimorfismo

Podem haver implementações diferentes para o mesmo método.

Cachorro

Animal

Gato Cavalo

Barulho()

Barulho()

Latir

Barulho()

Miar

Barulho()

Relinchar

Aplicação Básica POO

67

Estrutura de classe

class Nome_classe {

...<métodos>

}

68

Exemplo de Classe

class exempc0 {

public function imprime(){

echo "Imprimindo Dados..";

}

}

69

Criação de um objeto

Operador new:

Exemplo:

$obj = new exempc0();

70

Exemplo Completo

class exempc0 {

public function imprime(){

echo "Imprimindo Dados..";

}

}

$obj = new exempc0();

$obj->imprime();71

Aplicação das Propriedades

72

Exemplo Propriedades

class exempcl {

public $var1 = 1;

public $var2 = 2;

public function imprime(){

echo $this->var1;

}

}

$obj = new exempcl();

$obj->imprime();

73

Aplicação de Herança

74

Exemplo de herança

class Calcsub {

public function subtracao($a,$b){

echo $a-$b."<br>";

}

}

class Calcsoma extends Calcsub {

public function soma($a,$b){

echo $a+$b."<br>";

}

}

75

Utlização do

$obj = new Calcsoma();

$obj->subtracao(9,4);

$obj->soma(9,4);

76

Aplicação de Polimorfismo

77

Exemplo de Polimorfismo class Calcsub {

public function subtracao($a,$b){

echo $a-$b."<br>";

}

}

class Calcsoma extends Calcsub {

function soma($a,$b){

echo $a+$b."<br>";

}

function chamada(){

echo $this->subtracao(4,3);

}

}78

Recommended