Funções com PHP

Aprenda a criar funções no PHP e entenda toda sua funcionalidade.

 Escrevendo testes automatizados com PHPUnit

Antes de começarmos com linhas de códigos, vamos simular uma situação e propor a ela uma solução! Imagine que em uma aplicação web seja necessário cadastrar usuários no banco, porém este mesmo cadastro é feito em dois lugares diferentes sem nenhuma mudança em relação ao cadastro, sem o uso de funções com certeza iriamos replicar o código duas vezes, em caso de manutenção teríamos que alterar nos dois lugares. Utilizando funções, teríamos toda instrução em um único lugar e apenas chamaria a função nas páginas de cadastro, assim não teríamos código duplicado e escreveríamos menos.

Funções são blocos de códigos que executam determinadas operações e podem retornar valores, sendo que o PHP não obrigado o programador especificar o que será retornado.

Em linguagens com Fortemente Tipadas é necessário especificar o que a função/método irá retornar, se é um número, valor boleano, texto ou nada. No PHP não temos esta preocupação.

A sintaxe para se criar uma função é:

Código 01:

function nomeDaFuncao(){
	echo "Olá, mundo.";
}

echo nomeDaFuncao();

Utilizamos a palavra reservada function, em seguida devemos especificar um nome, os parênteses servem para passarmos valores a função quando ela for chamada e por último abrimos e fechamos as chaves. Toda instrução da função deve ficar dentro das chaves {}.

Para chamar a função basta inserir o nome com os parênteses e ponto e vírgula, desta forma a função já é acionada.

Vamos imaginar que devemos fazer um ajuste salarial, onde especificamos o salário e a nossa função faz um cálculo adicionando mais 100R$, para isto note a função a seguir.

Código 02:

function ajusteSalario($salario){
	echo ($salario + 100);
}

echo ajusteSalario(2500);

Dentro da função ajusteSalario() recebemos o valor e somamos com + 100, por fim exibimos o valor do salário na própria função.

Imagine agora que seja necessário obter o valor da soma sem exibir na tela, para isto usamos o return, que retorna um valor único da função, não há a possibilidade de retornar mais de um valor.

Código 03:

<?php
function ajusteSalario($salario){	
	return $salario + 100;
}

$salario = ajusteSalario(2500);

if($salario < 2000){
	echo "Classe A";
}

if($salario > 2000 && $salario < 3000){
	echo "Classe B";
}

if($salario >= 3000){
	echo "Classe C";
}

Neste exemplo a função ajusteSalario() retorna um valor e gravamos e uma variável chamada salario, finalmente usamos o IF para fazer as comparações.

Se necessário, você poderá passar mais de um valor, não havendo limites, se houver muitos parâmetros, você tem um problema de estrutura de algoritmo, normalmente passamos poucos valores. Para usar mais de um valor por parâmetro, basta fazer a separação por virgula.

Código 04:

<?php
	function soma($val1, $val2){
		return ($val1 + $val2);
	}
	
	echo soma(30, 40);
?>

É possível passar uma variável por referência, que devolve a variável o valor alterado a ela, não será abordado este tópico aqui, mas você pode conferir através do endereço http://php.net/manual/pt_BR/language.references.pass.php.

Você viu neste artigo como criar e manipular suas próprias funções, quando estiver trabalhando com Orientação a Objetos, você irá utilizar suas funções o tempo todo, onde chamamos de métodos.

O PHP por padrão já disponibiliza uma gama enorme de funções para que você possa utilizar, como por exemplo converter uma string/texto para maiúscula, pode utilizar em uma consulta com o banco por exemplo.

Código 05:

<?php
	echo strtoupper("SatellaSoft");
?>

Vamos ficando por aqui, se houverem dúvidas, deixe nos comentários.