Le funzioni

Posso già sentire le urla di giubilo di alcuni che pensano che finalmente la lunga parte teorica di introduzione sia finita. Finalmente! Ora si fa qualcosa di più tecnico ed interessante. Purtroppo per per queste persone che si aspettavano chissà quali effetti speciali sia questa che la prossima lezione saranno ancora incentrate sulla teoria, quindi mettetevi il cuore in pace. Non abbiamo, infatti, ancora parlato di uno dei pilastri fondamentali della programmazioni. Le funzioni.

Fino ad ora abbiamo sempre scritto tutto il codice dentro a dei singoli file .php. Ogni volta che questo veniva aperto il codice al suo interno veniva eseguito dall’inizio fino alla fine. Dopo di che abbiamo introdotto le strutture di controllo che ci hanno permesso di controllare il flusso del codice all’interno del file. Ora pero vogliamo andare oltre.

Possiamo definire le funzioni come un insieme di istruzioni a cui diamo un nome. Ogni volta che chiamiamo questo nome all’interno del codice, il flusso si ferma e viene passato il controllo alla funzione che esegue le istruzioni al suo interno. Se ci fate caso in alcuni esempi delle lezioni ho usato spesso delle funzioni. Certo ma cosa dobbiamo fare per creare una nuova funzione? Qual’è la sintassi da usare? La risposta è veramente semplice.

Per definire una nuova funzione serve solo una cosa, il nome preceduto dalla parola chiave function. Dopo di che dobbiamo ricordarci di inserire una coppia di parentesi tonde e una di parentesi graffe. Le parentesi tonde racchiuderanno la lista degli eventuali argomenti da passare alla funzione. Mentre le parentesi graffe conterranno il corpo della funzione.

<?php
 
/* piccolo esempio che mostra una funzione veramente minima.
   senza argomenti e che non ritorna alcun valore */
 
function nome_della_funzione()
{
  $a = $b;
  $c = $a;
  $a = $c - $b;
}
 
?>

Prima di continuare un consiglio. Date sempre nomi rappresentativi alle funzioni.
Come per le variabili, il vostro script non andrà più veloce solo perché il nome della vostra funzione è scritto con meno caratteri. Il nome serve più che altro a voi per ricordarvi cosa contiene.

Facendo un esempio, se dovete creare una funzione che tramite una porta seriale si colleghi alla nuova macchina del caffè espresso e prepari una nuova tazzina, è buona pratica chiamare la funzione nuova_tazzina_di_espresso() e non ntde().

Parliamo ora di quello che possiamo scrivere all’interno di una funzione. Come già detto più volte, PHP ci concede una grande libertà e all’interno di una funzione possiamo inserire qualsiasi frammento di codice valido, dalle variabili passando per la definizione di altre funzioni fino alle classi, che vedremo più avanti.

Ora qualche esempio di funzioni più o meno semplici per chiarire eventuali dubbi a chi ne avesse.

<?php
 
/* esempio di una funzione molto complessa */
function esempio_1 ($uno, $due)
{
 
  /* ecco una funzione dichiarata all'interno di un'altra
     funzione */
 
  function funzione_innestata ()
    {
      echo "ciao";
    }
 
  echo "ciao "; funzione_innestata ();
 
  /* possiamo perfino dichiarare nuovi oggetti */
  class oggetto
    {
      var $uno;
 
      function blabla ()
	{
	  $this->uno++;
	  echo $this->uno;
	}
    }
 
  $obj = new Oggetto();
 
  for ($i=0; $i<=33; $i+)
    $obj->blabla ();
}
 
?>

vicius