Lição 9: Funções

Nas lições anteriores você aprendeu a usar funções, tais como, documentaçãodate() e documentaçãoarray(). Nesta lição você aprenderá a criar suas próprias funções usando a funcionalidade do PHP chamada documentaçãofunction.

O que é função?

Uma função se destina a processar inputs (entradas) e retornar um output (saída). Isto pode ser muito útil se, por exemplo, você tiver que processar uma grande quantidade de dados ou se tiver que realizar cálculos ou rotinas que devam ser executadas muitas vezes.

A sintaxe geral para uma função é mostrada a seguir:


	Nome da função(lista de parâmetros) {
	   Comandos PHP
	}
	
	

O exemplo a seguir esclarece a sintaxe para uma função bem simples destinada a adicionar 1 unidade a um número:

	function AddOne($x) {
	   $x = $x + 1;
	   echo $x;
	}

	
	

O nome escolhido para nossa função foi AddOne e deve ser chamada com um parâmetro que é o numero a somar - por exemplo: 34....

	echo AddOne(34);
	
	

... o retorno da função será (pasmem!) 35.

No exemplo mostrado processou-se um número, contudo as funções podem processar textos, datas e qualquer outro tipo de dado. Você pode, até mesmo, criar funções para serem chamadas por parâmetros. Nesta lição estudaremos diferentes tipos de funções.

Exemplo 1: Função com vários parâmetros

Como dito anteriomente é possível criar funções com vários parâmetros. No exemplo a seguir criaremos uma função que é chamada com 3 números como parâmetros e retorna a soma deles:


	<html>
	<head>
	<title>Funções</title>

	</head>
	<body>

	<?php

	function AddAll($number1,$number2,$number3) {
	   $plus = $number1 + $number2 + $number3;
	   return $plus;
	}
	 
	echo "123 + 654 + 9 é igual a " . AddAll(123,654,9);

	?>

	</body>
	</html>
	
	

Ok. Isto foi bastante simples! Mas, o objetivo foi apenas mostrar que uma função pode ser chamada com vários parâmetros.

Exemplo 2: Data e hora em inglês

Vamos criar uma função um pouquinho mais complexa. Uma função a ser chamada com date() e time() e retornar a data e hora no formato: Wednesday, 15 February, 2012, 10:00:00 AM


	<html>
	<head>
	<title>Funções</title>
	</head>
	<body>

	<?php

	function EnglishDateTime($date) {
	 
	  // Array com o nome em portuguêss dos dias e semanas
	  $arrDay = array("segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado","domingo");
	 
	  // Array with the English names of the months
	  $arrMonth = array("","janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");
	 
	  // Montar a data
	  $EnglishDateTime = $arrDay[(date("w",$date))] . ", " . date("d",$date);
	  $EnglishDateTime = $EnglishDateTime  . " " . $arrMonth[date("n",$date)] . " " . date("Y",$date);
	  $EnglishDateTime = $EnglishDateTime  . ", " . date("H",$date) . ":" . date("i",$date);
	 
	  return $EnglishDateTime;

	}
	 
	// Função de teste
	echo EnglishDateTime(time());

	?>

	</body>
	</html>
	
	

Notar que a definição de '$arrMonth' e '$EnglishDateTime' constam de diversas linhas do script. Fizemos assim para que usuários com baixa resolução de tela tenham uma melhor visão do exemplo. Isto não tem nenhum efeito no funcionamento do código.

A função mostrada funciona em qualquer servidor independentemente do idioma. Isto significa que você pode usar esta função no seu site mesmo que ele esteja hospedado em um servidor na França e você quiser mostrar suas datas no formato inglês.

Por ora ficaremos por aqui sem nos aprofundar mais, pois agora você já sabe alguma coisa sobre como as funções trabalham.



<< Lição 8: Arrays

Lição 10: Passando variáveis no URL >>