Posts TaggedFunções recursivas
Funções recursivas no PHP
Sempre gostei de fazer funções recursivas e quando posso tento utilizá-las pois acho charmosas e economizam código mas elas requerem um pouco mais de raciocíonio e atenção devido a facilidade de se criar loop/laço infinito.
( Noel Rocha )
<?php
function escape($var)
{
if (!is_array($var)) {
if(get_magic_quotes_gpc() == 1)
$var = stripslashes($var);
return mysql_escape_string($var);
}
foreach ($var as $chave => $valor)
$var[$chave] = escape($valor);
return $var;
}
?>
— Função recursiva criada pelo Noel para o escape, isto é, a anulação dos caracteres de controle de texto que uma variável de texto possuí como contra-barras, apóstrofo, aspas e aspas duplas.
Pessoalmente eu não utilizava funções recursivas pois é verdade que devemos ter muito cuidado com a criação de loops infinitos, mas a devida utilização das funções recursivas é muito importante de se compreender.
A função acima também poderia ser dividida em duas, mas neste caso teríamos mais um procedimento criado e talvez nós não o utilizássemos mais no nosso projeto. Determinadas vezes é chato ver procedimentos e mais procedimentos em alguns scripts. Crie-os quando for necessário. Se for possível, use as funções recursivas.
Além da forma apontada é claro que existem outras alternativas para o tratamento de strings no PHP para evitar uma Injeção SQL, mas este não é o nosso assunto de hoje, ok?
Add comment Junho 1, 2009