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

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

Felipe Nunes Flores – Programa de Educação Tutorial.

Apresentações semelhantes


Apresentação em tema: "Felipe Nunes Flores – Programa de Educação Tutorial."— Transcrição da apresentação:

1 Felipe Nunes Flores – Programa de Educação Tutorial

2 PHP permite a manipulação de arquivos de formato conhecido, evitando a necessidade da existência de um SGBD instalado no servidor. Assim, arquivos de texto comuns podem ser criados e editados para guardar pequenas quantidades de informações que são necessárias em certos casos, quando da criação de websites. Para manipular esses arquivos, o PHP fornece uma grande quantidade de funções que atuam diretamente no sistema de arquivos do sistema operacional. Veremos as principais a seguir.

3 A Função FOPEN A função fopen é responsável pela abertura de um arquivo. Sua sintaxe é a seguinte: fopen (nome_arquivo, modo, [use_include_path]) Essa função retorna um ponteiro para o arquivo aberto, sendo usado futuramente como parâmetro para as demais funções de manipulação de arquivos. Além disso, pode-se usar um teste através do comando if, por exemplo, para verificar se o arquivo foi, de fato, aberto. Observa-se que o parâmetro nome_arquivo pode referenciar um arquivo que está no mesmo computador ou em um computador remoto.

4 A Função FOPEN Já o parâmetro modo pode possuir os valores listados na tabela abaixo: * : Posiciona o ponteiro no início do arquivo ** : Posiciona o ponteiro no final do arquivo Exemplo: $ponteiro_arquivo = fopen(“http://www.inf.ufrgs.br/~seunome/teste.txt”,”r”); Existe ainda um terceiro parâmetro para essa função. Esse parâmetro indica se o arquivo deve ser procurado no caminho existente em uma variável chamada include_path. Para ativá-lo, passamos o valor 1.

5 A Função FCLOSE A função fclose é responsável pelo fechamento de um arquivo. Sua sintaxe é a seguinte: fclose (ponteiro_arquivo) Essa função retorna true se o arquivo foi fechado com sucesso e false se houver alguma falha. O parâmetro utilizado para essa função é a variável na qual está contida o ponteiro para o arquivo desejado. Exemplo: fclose($ponteiro_arquivo);

6 A Função FREAD A função fread é responsável pela leitura de um arquivo. Sua sintaxe é a seguinte: fread (ponteiro_arquivo,tamanho) A função lê o número de bytes especificado em tamanho. A leitura termina quando o número de bytes especificado é lido ou o fim do arquivo (EOF) é alcançado. Exemplo: $texto = fread($ponteiro_arquivo, 256); // Lê 256 bytes do arquivo

7 A Função FGETS A função fgets também é responsável pela leitura de um arquivo, porém ela lê no máximo uma linha. É bastante utilizada quando queremos trabalhar individualmente com cada linha do arquivo. Sua sintaxe é a seguinte: fgets (ponteiro_arquivo,tamanho) A leitura é feita até que seja lido o número de bytes especificados em tamanho, ou quando terminar a linha atual do arquivo (caractere \n), ou quando o arquivo chegar a seu final. Exemplo: $linha = fgets($ponteiro_arquivo, 4096);

8 A Função FWRITE Essa função fwrite realiza a escrita em um arquivo. Sua sintaxe é a seguinte: fwrite (ponteiro_arquivo,string, [tamanho]) Observa-se que fwrite escreve o conteúdo do parâmetro string no arquivo referenciado pelo parâmetro ponteiro_arquivo. O uso de tamanho é opcional. Caso ele seja informado, a escrita cessará após ser atingido o número de bytes especificado. Exemplo: $linha = fwrite($ponteiro_arquivo, “isso é um teste do fwrite”);

9 O exemplo abaixo reúne todos os conceitos das funções vistas até agora em um programa PHP, implementando um contador (útil para verificar o número de visitantes): <?php $arquivo = “contador.txt”; $ponteiro_arquivo = fopen($arquivo,“r”); // abre o arquivo $valor = chop(fgets($ponteiro_arquivo,4096)); // obtém o valor atual fclose($ponteiro_arquivo); // fecha o arquivo $valor++; // incrementa o contador echo “$valor pessoas já visitaram esse site”; $ponteiro_arquivo = fopen($arquivo,“w”); // abre o arquivo para escrita fwrite($ponteiro_arquivo, “$valor”); // salva o novo valor fclose($ponteiro_arquivo); // fecha o arquivo ?> No exemplo acima, a função chop tem como meta remover os espaços e quebras de linha existentes no fim de uma string. Nota-se que o exemplo de código acima poderia ser utilizado como uma include, onde seria chamado na devida parte onde se desejasse mostrar a quantidade de usuários que visitou o website. Devido ao grande número existente de funções para a manipulação de arquivos, omitiremos as restantes. A documentação dessas funções, porém, pode ser facilmente encontrada na Web.

10 Felipe Nunes Flores– Programa de Educação Tutorial Exercício: Realizar um programa PHP que implemente uma enquete. Ele deve mostrar para o usuário uma pergunta com 4 alternativas, para ele escolher uma. Após o envio da resposta, é mostrado na tela a votação atual. Implementar utilizando manipulação de arquivos.

11 A programação orientada a objetos é muito comum atualmente em diversas linguagens de programação, uma vez que reorganiza a forma de programar de modo a fazer com que partes associadas de código e dados sejam agrupados. Veremos aqui neste curso apenas alguns tópicos da orientação a objetos em PHP.

12 Classes Uma classe é um conjunto de variáveis (atributos) e funções (métodos) relacionados a essas variáveis. Uma classe é um tipo e, portanto, não pode ser atribuído a uma variável. Para definir uma classe utiliza-se a seguinte sintaxe: class Nome_da_classe [extends myparent] { var $variavel1; var $variavel2; function funcao1 ($parâmetro) { // === corpo da função ===... }... }

13 Herança Uma classe pode ser uma extensão de outra. Isso significa que ela herdará todas as variáveis e funções da outra classe, e ainda terá as que forem adicionadas pelo programador. Em PHP não é permitido utilizar herança múltipla, ou seja, uma classe pode ser extensão de apenas uma outra. Para criar uma classe extendida, ou derivada de outra, deve ser utilizada a palavra reservada extends, como pode ser visto no exemplo seguinte: class novaconta extends conta { var $numero; function numero() {... } A classe acima é derivada da classe conta, tendo as mesmas funções e variáveis, com a adição da variável $numero e a função numero.

14 Polimorfismo Quando se herda uma classe de outra, ela herda junto seus atributos e métodos, adicionando atributos e métodos próprios. Mas o que aocntece se ela criar um atributo ou método com o mesmo nome da classe pai??? Vale o método ou atributo criado na classe filha. Isso é chamado de polimorfismo. class novaconta extends conta { var $nome; function numero() {... } function numero() {... } class conta { var $numero; function numero() {... } function saldo() {... }

15 Objeto Variáveis do tipo de uma classe são chamadas de objetos e devem ser criadas utilizando o operador new, como mostra o exemplo abaixo: $variável = new $nome_da_classe; Para acessar os atributos e métodos definidas na classe, deve ser utilizado o operador “->”, como mostra os exemplos abaixos: $variável->funcao1(); $variavel1 = $variável->atributo1;

16 A variável $this Na definição de uma classe, pode-se utilizar a variável $this, que é o próprio objeto. Assim, quando uma classe é instanciada em um objeto, e uma função desse objeto na definição da classe utiliza a variável $this, essa variável significa o objeto que estamos utilizando. Como exemplo da utilização de classes e objetos, podemos utilizar a classe conta, que define uma conta bancária bastante simples, com funções para ver saldo e fazer um crédito. class conta { var $saldo=0; function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; } $minhaconta = new conta; echo $minhaconta->saldo(); // imprime 0 $minhaconta->credito(50); echo $minhaconta->saldo(); // imprime 50

17 Construtores Um construtor é uma função definida na classe que é automaticamente chamada no momento em que a classe é instanciada (através do operador new). O construtor deve ter o mesmo nome da classe a que pertence. Veja o exemplo: class conta { var $saldo; function conta ($valor) { $this->saldo = $valor; } function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; }

18 Construtores Podemos perceber que a classe conta agora possui um construtor, que inicializa a variável $saldo com o valor contido no parâmetro $valor. Um construtor pode conter argumentos, o que torna esta ferramenta mais poderosa. No exemplo acima, o construtor da classe conta recebe como argumento um valor, que seria o valor inicial da conta. Observe o exemplo abaixo de instanciação de uma classe: $minhaconta = new conta(50); Dessa forma, passa-se como argumento para o construtor o valor 50, inicializando a variável $saldo do objeto com esse valor. Vale observar que para classes derivadas, o construtor da classe pai não é automaticamente herdado quando o construtor da classe derivada é chamado.

19 Visibilidade A visibilidade de um atributo ou método pode ser definida com os seguintes modificadores de acesso: 'public','protected' ou 'private'. Itens declarados como public podem ser acessados pelo objeto (instância da classe). Protected estão acessíveis às classes filhas (herdadas). Private limita a visibilidade para apenas a classe que define o atributo ou método. Utilizamos eles da seguinte forma: class conta { private $atributo1; public function metodo1() {... }

20 Visibilidade Exemplo:

21 Felipe Nunes Flores– Programa de Educação Tutorial Exercício: Construir um programa PHP que tenha uma classe, que contenha pelo menos altura e peso como atributos, e um método que calcula o IMC da pessoa e diz se ela está obesa.


Carregar ppt "Felipe Nunes Flores – Programa de Educação Tutorial."

Apresentações semelhantes


Anúncios Google