Php e le funzioni

Php e le funzioni

Sviluppare in Php richiede anche la capacità di ridurre il codice sorgente sfruttando varie operazioni che lo stesso linguaggio ci mette a disposizione.
Una delle più semplice, a mio avviso, è l’utilizzo delle funzioni (function).

Le funzioni sono necessarie in due precisi momenti della navigazione del sito web:

  • quando i dati devono essere inseriti in un database;
  • quando i dati prelevati dal database devono essere stampati a video.

Nel primo caso andremo a formattare tutti i caratteri speciali nelle loro rispettive entità (se hai un pò di esperienza nello sviluppo saprai del famosissimo apice ‘ ) come le lettere accentate; nel secondo andremo ad effettuare l’operazione inversa.


Ecco un’esempio di come si scrive una funzione:

function testoReplaceWeb($testo){
	
	$testo = htmlspecialchars_decode($testo,ENT_COMPAT);
	$testo = str_replace("&","&",$testo);
	$testo = str_replace("'","'",$testo);
	$testo = str_replace("à","à",$testo);
	$testo = str_replace("è","è",$testo);
	$testo = str_replace("ì","ì",$testo);
	$testo = str_replace("ò","ò",$testo);
	$testo = str_replace("ù","ù",$testo);
	$testo = str_replace("é","é",$testo);
	$testo = str_replace("","\r",$testo);
	
	return $testo;
}

e di come si richiama:

Benvenuto <?php echo testoReplaceWeb($nome); ?>

Analizzando la funzione possiamo notare che lo scopo della funzione è sostituire i caratteri speciali e i tag html presenti nella variabile $nome. Rilascio i link di approfondimento delle singole funzioni Php:

Non si deve dimenticare di includere il file funzioni.php nella pagina.
Ecco il codice della pagina completo:

<?php include("funzioni.php"); ?>
<html>
<head>
<title>Le funzioni Php</title>
</head>
<body>
Benvenuto <?php echo testoReplaceWeb($nome); ?>
</body>
</html>

ps. naturalmente $nome è una variabile che dovrà pervenire alla pagina (select su db, Get o Post)

In questo modo la variabile $nome ogni volta che sarà visualizzata nella pagina sarà formattata.

Ultima cosa da dire è che le funzioni possono essere annidate tra loro, lasciando a loro il compito di multioperare.

Es.

function replaceTesto($testo){
	
	$testo = htmlspecialchars($testo,ENT_COMPAT);
        $testo = LinkUrl($testo);
        $testo = LinkMail($testo);
	$testo = str_replace("\n","",$testo);
	$testo = str_replace("&","&amp;",$testo);
	$testo = str_replace("'","&apos;",$testo);
	$testo = str_replace("à","&agrave;",$testo);
	$testo = str_replace("è","&egrave;",$testo);
	$testo = str_replace("ì","&igrave;",$testo);
	$testo = str_replace("ò","&ograve;",$testo);
	$testo = str_replace("ù","&ugrave;",$testo);
	$testo = str_replace("é","&eacute;",$testo);
	$testo = str_replace("\r","",$testo);
	
	return $testo;
}

function LinkUrl($testo) {

  $cerca = '/([(http|https|ftp)]+:\/\/[\w-?&:;#!~=\.\/\@]+[\w\/])/i';

  $sostituisci = '<a href="$1">$1</a>';

  return preg_replace($cerca, $sostituisci, $testo);

}

function LinkMail($testo) {

  $cerca = '/([\w\._-]+@(([\w_-])+\.)+[a-zA-Z]{2,4})/i';

  $sostituisci = '<a href="mailto:$1">$1</a>';

  return preg_replace($cerca, $sostituisci, $testo);

}

Come potete vedere alla riga 04 e 05 richiamo le due funzioni (LinkUrl, LinkMail) che saranno richiamate automaticamente dalla funzione principale che noi richiameremo nela nostra pagina.

Davide Arduini Arduini

Developer Web in Php, Html, Asp, Css. Esperienza in sviluppo di siti web, pannelli gestionali e applicativi aziendali per uso interno. Conoscenza base dei vari CMS (Joomla, WordPress, etc..)

WebSite


Seguimi su: TwitterFacebookLinkedInPinterestGoogle PlusYouTube

PHPGraphLib Graphing Library
Benvenuto nel mio Blog!

Potrebbero interessarti anche

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.