Artigo Clube Delphi 91 - Introdução ao PHP - Parte 3

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veremos a criação de funções, tratamento de exceções e uso de arquivos no PHP.

Esse artigo faz parte da revista Clube Delphi Edição 91. Clique aqui para ler todos os artigos desta edição

. imagem_pdf.jpg

PHP

Introdução ao PHP – Parte 3

Criação de funções, tratamento de exceções e uso de arquivos

 

Criando Funções

Funções são a chave para reusabilidade em qualquer linguagem de programação. Com PHP não é diferente, pois através de funções podemos centralizar nossas principais rotinas, tratamentos, regras de negócio etc. Nós já vimos na edição 89 como fazer uso de funções do próprio PHP, porém, até agora não implementamos nossas próprias funções. Nesse artigo aprenderemos a construí-las em PHP.

 

Funções Simples

Comecemos com um exemplo simples: a Fórmula de Gauss para a soma de números inteiros. Com sete anos de idade, Gauss iniciou a escola elementar, e o seu potencial foi notado quase imediatamente. O seu professor, Büttner, e o seu assistente, Martin Bartels, ficaram impressionados quando Gauss somou os números inteiros de 1 até 100, imediatamente deduzindo que a soma é formada por 50 pares de números, cada par somando 101. Assim nasceu a Fórmula de Gauss para a soma de números inteiros (Listagem 1).

 

Listagem 1. Fórmula de Gauss

 

<?php

  $result = gauss(4);

  echo "Soma de 1 até 4: $result<br>\n";

  # função para calcular a soma de 1 para $upper

  function gauss($upper){

    if(is_int($upper) && ($upper > 0)){

      return($upper*($upper+1)/2);

    }

  }

?>

 

Na primeira linha vemos a função de Gauss sendo chamada. Um parâmetro deve ser passado à função. Este parâmetro definirá o limite superior da soma que desejamos computar. Se o parâmetro passado para a função for um valor inteiro e se for maior do que o zero, o resultado é computado e retornado para a função principal. O resultado é passado para a função principal utilizando o comando return. Neste caso será retornado o valor 10 e a seguir, será exibido na tela o texto:

 

Soma de 1 até 4: 10

 

Podemos também chamar funções passando mais de um parâmetro. O exemplo da Listagem 2 mostra uma versão ligeiramente adaptada da função que vimos anteriormente. Com a ajuda desta função, é possível computar a soma de valores inteiros, iniciando de um valor inicial e atingindo um valor final maior (o valor inicial não está incluído na soma). Se executarmos o script, o resultado exibido na tela será:

 

Resultado: 45

 

Listagem 2. Fórmula de Gauss com mais de um parâmetro

 

<?php

  $lower = 4;

  $upper = 10;

 

  $result = gauss($lower, $upper);

  echo "Resultado: $result<br>\n";

 

  function gauss($lower, $upper){

    if($upper >= $lower && $lower >= 0){

      return ($upper*($upper+1)/2) - ($lower*($lower+1)/2);

    }

  }

?>

 

Passando arrays para uma função

Às vezes é necessário passar arrays inteiros para uma função. O PHP não suporta a sobrecarga (overload) de função, como em Delphi, por exemplo, mas com a ajuda de arrays, é possível construir soluções de contorno bem simples. O objetivo do exemplo da Listagem 3, é computar a média geométrica de um array de valores:

 

Listagem 3. Exemplo de passagem de array para funções

 

<?php

  $values = array(4, 3, 19, 23, 15);

  $result = geomean($values);

  echo "Resultado: $result<br>\n";

 

  function geomean($invalues){

    foreach ($invalues as $val){

      $sum += $val*$val;

    }

    return sqrt($val);

  }

?>

 

Em primeiro lugar, é criado um array que contém vários valores. A seguir, a função geomean é chamada e o array é passado para a mesma. A função geomean computa a soma das segundas potências dos valores no array. Depois disso, a raiz quadrada é computada e retornada para a função principal. O resultado será exibido na tela:"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?