![Page 1: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/1.jpg)
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
![Page 2: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/2.jpg)
Conceito de Sessão
2
![Page 3: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/3.jpg)
Sessão
Sessão significa reunião ou intervalo de tempo que dura uma atividade específica.
3
![Page 4: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/4.jpg)
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
![Page 5: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/5.jpg)
Curva de duração de uma sessãox = -t2 onde t[-1≤ t ≤0]
5
![Page 6: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/6.jpg)
Funcionamento de uma sessão
6
Pagina1.php
Session
Pagina2.php
$lista =1
$lista =1
Servidor
Memória
![Page 7: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/7.jpg)
Algoritmo de uma sessão
7
Nome_Sessão
Criação_Sessão
Armazena_DadosSessão
![Page 8: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/8.jpg)
Criação, Manipulação e encerramento de sessões
8
![Page 9: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/9.jpg)
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
![Page 10: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/10.jpg)
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
![Page 11: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/11.jpg)
$_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
![Page 12: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/12.jpg)
Exemplo $_SESSION[]
O Array section permite o armazenamento dos dados no servidor.
Exemplo:
$_SESSION[‘login’] = ‘claudia’;
$_SESSION[‘senha’] = ‘7&m698’;
12
![Page 13: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/13.jpg)
Encerramento
de uma sessão
13
![Page 14: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/14.jpg)
session_unset()
Libera as variáveis de memória de uma sessão.
Sintaxe:
session_unset()
14
![Page 15: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/15.jpg)
session_destroy()
Apaga uma sessão criada em uma página.
Sintaxe:
session_destroy();
15
![Page 16: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/16.jpg)
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
![Page 17: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/17.jpg)
Captura de dados da sessão
<?php
session_start();
echo 'Bem vindo página 2 <br>';
echo $_SESSION['login']."<br>";
echo $_SESSION['senha'];
?>
17
![Page 18: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/18.jpg)
Tratamento de Exceção
18
![Page 19: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/19.jpg)
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
![Page 20: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/20.jpg)
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
![Page 21: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/21.jpg)
Comportamento de Exceção
21
Fluxo Natural
Exceção Fluxo Exceção
Fluxo Natural
S
N
Fim
![Page 22: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/22.jpg)
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
![Page 23: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/23.jpg)
Funcionamento de try{} catch{}
23
try Algoritmo
catch
Finalização
![Page 24: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/24.jpg)
Sintaxe try{}(Tentar) catch (Pegar)
try {
<Instruções_php>
} catch(<tipo_de_exceção>) {
<Instruções_php_exceção>
}24
![Page 25: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/25.jpg)
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.
![Page 26: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/26.jpg)
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
![Page 27: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/27.jpg)
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
![Page 28: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/28.jpg)
Manipulação de Arquivo de Dados
28
![Page 29: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/29.jpg)
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
![Page 30: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/30.jpg)
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
![Page 31: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/31.jpg)
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
![Page 32: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/32.jpg)
32
EOF
![Page 33: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/33.jpg)
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
![Page 34: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/34.jpg)
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
![Page 35: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/35.jpg)
Sintaxe : <buffer> = fopen(<nome-arquivo>, <tipo-abertura>);
35
![Page 36: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/36.jpg)
Exemplo :
$pt = fopen("c:/diretorio/teste.txt","r+");
Obs :
Este exemplo abre um arquivo já existente
para leitura e gravação.
36
![Page 37: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/37.jpg)
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
![Page 38: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/38.jpg)
Exemplo :
fprintf($pt,“Aula de php");
38
![Page 39: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/39.jpg)
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
![Page 40: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/40.jpg)
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.
![Page 41: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/41.jpg)
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
![Page 42: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/42.jpg)
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
![Page 43: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/43.jpg)
Conceitos e Aplicações de Download e Upload
43
![Page 44: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/44.jpg)
Download
Termo utilizado para referenciar a obtenção de dados de um dispositivo através de um canal de comunicação.
44
![Page 45: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/45.jpg)
Funcionamento Download
45
![Page 46: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/46.jpg)
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
![Page 47: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/47.jpg)
Upload
47
![Page 48: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/48.jpg)
Transferência de Dados Cliente/Servidor
48
![Page 49: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/49.jpg)
Envio de Arquivo (Cliente)
49
Dados Arquivo
multipart/form-data
File
submit
Servidor
submit
Cliente
![Page 50: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/50.jpg)
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
![Page 51: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/51.jpg)
Tratamento no Servidor
51
Servidor
tmp (Temporário)
File
Name (Real)
copy(temporario,real)
![Page 52: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/52.jpg)
copy(): Escrever no servidor.
Sintaxe:
copy(<nome_lógico>,<nome_fisico>)
Exemplo:
copy(<tmp>,<name>);
52
![Page 53: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/53.jpg)
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
![Page 54: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/54.jpg)
Conceitos e Aplicações de Orientação à Objetos
Usando PHP (POO)
54
![Page 55: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/55.jpg)
Classe
Vem a ser uma estrutura de dados criada para dar origem ou modelar um objeto.
Carro
Propriedades
Marcha
Freio
Embreagem
Motor
![Page 56: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/56.jpg)
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.
![Page 57: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/57.jpg)
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}
![Page 58: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/58.jpg)
Estrutura de uma classe
Carro
Propriedades
Marcha
Freio
Embreagem
Motor
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
![Page 59: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/59.jpg)
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.
![Page 60: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/60.jpg)
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)
![Page 61: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/61.jpg)
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.
![Page 62: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/62.jpg)
Estrutura de Herança
Veiculo
Propriedades
Marcha
Freio
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
![Page 63: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/63.jpg)
Exemplo: Herança
Carro
Veiculo
Moto Bicicleta
![Page 64: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/64.jpg)
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.
![Page 65: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/65.jpg)
Exemplo: Polimorfismo
Carro
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
VeiculoHerda
![Page 66: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/66.jpg)
Polimorfismo
Podem haver implementações diferentes para o mesmo método.
Cachorro
Animal
Gato Cavalo
Barulho()
Barulho()
Latir
Barulho()
Miar
Barulho()
Relinchar
![Page 67: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/67.jpg)
Aplicação Básica POO
67
![Page 68: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/68.jpg)
Estrutura de classe
class Nome_classe {
...<métodos>
}
68
![Page 69: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/69.jpg)
Exemplo de Classe
class exempc0 {
public function imprime(){
echo "Imprimindo Dados..";
}
}
69
![Page 70: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/70.jpg)
Criação de um objeto
Operador new:
Exemplo:
$obj = new exempc0();
70
![Page 71: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/71.jpg)
Exemplo Completo
class exempc0 {
public function imprime(){
echo "Imprimindo Dados..";
}
}
$obj = new exempc0();
$obj->imprime();71
![Page 72: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/72.jpg)
Aplicação das Propriedades
72
![Page 73: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/73.jpg)
Exemplo Propriedades
class exempcl {
public $var1 = 1;
public $var2 = 2;
public function imprime(){
echo $this->var1;
}
}
$obj = new exempcl();
$obj->imprime();
73
![Page 74: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/74.jpg)
Aplicação de Herança
74
![Page 75: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/75.jpg)
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
![Page 76: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/76.jpg)
Utlização do
$obj = new Calcsoma();
$obj->subtracao(9,4);
$obj->soma(9,4);
76
![Page 77: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/77.jpg)
Aplicação de Polimorfismo
77
![Page 78: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de](https://reader035.vdocuments.mx/reader035/viewer/2022070310/552fc0f9497959413d8b69bf/html5/thumbnails/78.jpg)
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