// você está lendo...

Básico

Trabalhando com funções


Durante o desenvolvimento de um projeto necessitamos realizar a mesma operação várias vezes e com isso acabamos reescrevendo códigos e mais códigos. Para resolver este problema podemos usar funções definidas pelo usuário.

Um ótimo exemplo para ilustrar onde seria ideal usar uma função definida pelo usuário seria em uma lista onde o título das notícias são listadas, mas, não podem ocupar duas linhas e nem ultrapassar a margem do layout, algo como:

18/04/2007 – Todos os sites de notícia estão publicando algo relacionado ao papa bento XVI
19/04/2007 – Esta notícia não ultrapassa o tamanho máximo

Note que a primeira notícia ocupou duas linhas deixando o layout um pouco “desajeitado”, podemos corrigir isso tanto no título da notícia quanto em outros locais onde julgarmos necessário utilizando uma função similar a esta.

<?PHP
function cortaString($strVar, $intMax){
echo Substr($strVar, 0, $intMax);
}

?>

$titulo = “Todos os sites de notícia estão publicando algo relacionado ao papa bento XVI”;
cortaString($titulo, 30);

Que isso?
Esta função precisa de dois parâmetros, o primeiro $strVar deve ser uma string de qualquer tamanho, o segundo, $intMax que deve ser um número inteiro.

O que isso faz?
Esta função “corta” parte da string informada em $strVar quando ela alcançar o valor máximo de caracteres permitido que for informado por $intMax, ou seja, quando a string tiver mais de trinta caracteres o excedente não será apresentado.

Outras formas

Você pode também precisar definir um valor padrão para a sua função, isso permite que você possa utilizá-la com outros valores que não foram estipulados por você quando a criou.
Vamos supor que você precisa cortar parte de um texto title existente em um link.

<a href="http://www.vibemidia.com/blog/todos_os_sites_de_notícia_estao_publicando_algo_relacionado_ao_papa_bento_XVI" title="Todos os sites de notícia estão publicando algo relacionado ao papa bento XVI">Primeira notícia do dia 18/04/2007</a>

Note que neste caso tanto o link como o atributo title são muito grandes, o atributo title por sua vez não poderá ser visto por completo, sendo assim, estaremos enviando código inútil para o navegador do usuário, podemos então remover parte do valor deste atributo com a nossa função.
Vamos fazer um tuning na função

<?PHP
function cortaString($strVar, $intMax = 30){

echo Substr($strVar, 0, $intMax);
}
?>

Adicionei agora um valor padrão para nossa função, este valor será usado somente se na chamada da função não for informado o valor, sendo assim, qualquer valor informado será utilizado e o valor padrão é ignorado.
<a href=”http://www.vibemidia.com/blog/todos_os_sites_de_notícia_estao_publicando_algo_relacionado_ao_papa_bento_XVI” title=”<?PHP echo cortaString($titulo, 20); ?>”>Primeira notícia do dia 18/04/2007</a>

Caso precisar utilizar a mesma função para apresentar no máximo 30 caracteres (nosso valor padrão) poderíamos usar assim.

<a href="http://www.vibemidia.com/blog/todos_os_sites_de_notícia_estao_publicando_algo_relacionado_ao_papa_bento_XVI" title="<?PHP echo cortaString($titulo); ?>">Primeira notícia do dia 18/04/2007</a>

Note que não informei o segundo parâmetro da função, isso por que quero que sejam apresentados apenas os trinta primeiros caracteres da string $titulo.
É muito importante observar que os valores padrão somente iram funcionar de forma esperada se forem os últimos parâmetros declarados na função.

Também é possível utilizar a função apenas para retornar valores sem que este valor seja exibido no navegador, esta é a forma mais utilizada já que possibilita trabalhar os valores antes de exibi-los.

<?PHP
function cortaString($strVar, $intMax = 30){

return Substr($strVar, 0, $intMax);
}
?>

A mudança na função foi realizada apenas na troca de echo por return.

O que faz esse tal de return?
R.: Ele retorna o valor informado em seu argumento e para a execução.

Qual a vantagem de usar return ou echo?
R.: Quando usamos echo ficamos presos a usar a função apenas quando não precisamos trabalhar o valor retornado pela função. Com o return podemos utilizar o valor retornado e trabalhar com ele em outra função, classe ou mesmo adicionar tags HTML para somente depois exibir o valor no navegador.

Agora quando formos exibir o resultado de nossa função precisamos usar o echo algo assim…
<?PHP
echo cortaString($strVar, 30);
?>

Compare Preços de: DVD, MP3, LCD, Plasma, HDTV, Home Theater no JáCotei.

Discussion

No comments yet.

Post a comment

Recentes

caneca cafe canon 3
Caneca de café em formato de lentes Canon
agosto 31, 2010
By John-Henrique
Rapid Share Premium grátis
Rapid Share Premium grátis
agosto 23, 2010
By John-Henrique
TV LCD 42″
Promoção “Quer ganhar uma TV LCD 42″?”
agosto 22, 2010
By John-Henrique
Resident Evil 4 – Afterlife
Resident Evil 4 – Afterlife
agosto 20, 2010
By John-Henrique
invencoes-extranhas (32)
Invenções estranhas II
agosto 19, 2010
By John-Henrique
invencoes-extranhas (15)
Invenções estranhas
agosto 18, 2010
By John-Henrique
metallica presidio
Diferenças entre Presídio e Trabalho
agosto 16, 2010
By John-Henrique
Mercedes-Benz SCL600 6
Mercedes-Benz SCL600
agosto 15, 2010
By John-Henrique
Como baixar videos da internet
julho 21, 2010
By Carlos Camacho
vlc media player
VLC Media Player – Assista vídeos e filmes com maior facilidade
julho 19, 2010
By Carlos Camacho