Universidade do Vale do Paraíba
Colégio Técnico Antônio Teixeira Fernandes
Disciplina Ferramenta de Desenvolvimento
Material IV-Bimestre
Tratamento de Arquivos,Sessões,
Upload e Conceitos de Orientação à
Objetos
http://www1.univap.br/~wagner
Prof. Responsável
Wagner Santos C. de Jesus
1
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ão
x = -t2 onde t[-1≤ t ≤0]
5
Funcionamento de uma sessão
Memória
Pagina1.php
$lista =1
Servidor
Session
$lista =1
Pagina2.php
6
Algoritmo de uma sessão
Nome_Sessão
Criação_Sessão
Armazena_Dados
Sessão
7
Criação, Manipulação e
encerramento de sessões
8
Função session_name()
Cria o nome de uma
identificação de dados
armazenado na sessão.
sessão para
que serã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
Fluxo Natural
S
Exceção
Fluxo Exceção
N
Fluxo Natural
Fim
21
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{}
try
Algoritmo
catch
Finalização
23
Sintaxe try{}(Tentar)
catch (Pegar)
try {
<Instruções_php>
} catch(<tipo_de_exceção>) {
<Instruções_php_exceção>
}
24
Tratamento direto
<?php
Tratamento pelo próprio interpretador
sem envio da exceção.
try {
$x = 1/0;
echo $x;
} catch (Exception $e) {
echo 'Erro: Divisão por Zero !!! \n';
}
?>
25
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
EOF
32
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);
A expressão \r\n - Determinam <enter>.
Marcador de fim de linha.
40
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)
Cliente
Dados Arquivo
File
Servidor
submit
submit
multipart/form-data
49
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
File
tmp (Temporário)
Name (Real)
Servidor
copy(temporario,real)
51
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 é superclasse 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
Veiculo
Carro
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
Herda
Carro
Veiculo
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
Polimorfismo
Podem haver implementações diferentes
para o mesmo método.
Animal
Cachorro
Gato
Barulho()
Cavalo
Barulho()
Barulho()
Barulho()
Latir
Miar
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
Download

4-Bim PHP