Todos os dias ao desenvolver algum código nos deparamos com determinadas situações, em que o uso de funções, torna o trabalho mais simples. Porém tem gente que perde muito tempo procurando funções que façam aquilo que precisam, sendo que com metade desse tempo perdido, poderiam criar as suas próprias funções.
É muito útil saber como criar ou modificar uma função, pois você terá maior controle sobre o funcionamento da mesma, poderá personalizá-la com o intuito específico de realizar as ações que você necessita, e no final, também é um ótimo início pra quem ainda não sabe nada de orientação à objeto, afinal de contas, as classes da programação orientada a objeto contém grandes quantidades de conjuntos de funções.
Definição: Uma função é um bloco de código, que geralmente contém um conjunto de instruções para determinada tarefa. Não são pesadas, nem tornam o código lento, uma vez que ficam inativas até serem chamadas em algum momento do código. Reduzem drasticamente o trabalho de redigitar códigos, e seus conseqüentes erros, pois uma vez constrúida, pode ser utilizada em qualquer lugar de seus scripts, e caso precise alteração, você não precisará trocar em todos os scripts, apenas no seu arquivo de funções.
Composição: As funções são compostas da palavra reservada
function e o nome que você dará a ela. Estas funções são popularmente chamadas de "funções definidas pelo programador", visto que é o programador quem as cria, diferentemente das funções nativas do PHP, cujas mesmas já vem compiladas na linguagem.
A montagem do bloco de função é bem simples. Exemplo:
PHP
function nomedafuncao() {
//conteudo
}
A forma mais simples de centralizar suas funções, é em um arquivo à parte (ou vários arquivos à parte, depende da sua organização).
Eu por exemplo uso vários arquivos em uma pasta apenas de funções. e os organizo desta forma:
functions/funcoes_data.php
functions/funcoes_texto.php
functions/funcoes_acentos.php
functions/funcoes_formatacoes_diversas.php
Ou seja, desta forma é bem simples editá-las caso tenha necessidade. Assim, jamais vou abrir meus scripts em produção para trocar alguma coisa, apenas vou modificar na função e estará feito.
Crie seus arquivos de funções como melhor preferir para se organizar melhor, e mão na massa.
Cenário: Tarefas repetitivas como selecionar um banco de dados, seriam muito mais fáceis se você pudesse com ma única linha reaproveitar o código para sua aplicação inteira. Facilitaria a sua vida, não?
Exemplo:
PHP
function selecionabanco($banco) {
}
Desta forma, você tem no seu arquivo de funções, a função
selecionabanco, que receberá através da variável
$banco, o nome do banco de dados. No lugar da variável $banco, você pode colocar o nome do seu banco, porém não recomendo, pois assim você estaria engessando seu código. Vamos trabalhar sempre dinamicamente.
Assim, durante a execução do seu script, na hora de selecionar banco, você apenas fará a chamada da função
selecionabanco, como exemplos que vou mostrar adiante.
Uma vez que você inclua seus arquivos de funções nas páginas, as funções continuarão inativas a menos que você as chame.
Lembrando que é você quem decide o que vai ter dentro da sua função, afinal você é quem sabe da sua necessidade.
Toda tarefa repetitiva, pode ser substituida por funções, afim de tornar seu desenvolvimento mais produtivo. Querys, formatações, padronizações, etc. Todas podem ser incluídas em funções. Pense no problema e crie uma função para resolvê-lo. Deixe que elas trabalhem por você.
Exemplos:
PHP
function escrevetexto() {
print("Este e o texto a ser escrito sempre que eu chamar a funcao escrevetexto");
}
Note que esta função apenas escreve um texto qualquer definido dentro da função.
PHP
function criatabela($texto) {
print("<table border=1 cellpadding=0 cellspacing=0><tr>");
print("<td>$texto</td>");
}
echo criatabela
('o texto que sera mostrado na variavel $texto dentro da funcao!');
Já esta função, cria uma tabela simples, e dentro da célula, um texto, que será definido em uma variável na chamada da função. Lembre-se que isso pode ser dinamico, e o texto substituido por um valor proveniente de um banco de dados, etc.
PHP
function montapagina(){
require_once("../template/topo.php");
require_once("../template/conteudo.php");
require_once("../template/rodape.php");
}
Acima você pode ter uma idéia de como seria simples caso você tenha um gerador de páginas, montar a página com uma simples função! Ou seja, toda vez que você quiser montar uma nova página, basta uma linha de código.
Espero que isso tenha esclarecido o tema, aproveitando pra indicar a página de funções do manual do PHP,
http://br2.php.net/manual/pt_BR/language.functions.php e lembrando que é necessário perder o medo de errar, para poder aprender. Pare de procurar por funções prontas e bem vindo ao mundo do "faça você mesmo"!!!