back to top

CodeIgniter Helpers

Gli Helpers sono appunto degli "aiutanti", cioè dei costrutti forniti nativamente dal framework CodeIgniter che mettono a disposizione strumenti per rendere più semplice la vita degli sviluppatori nella creazione delle proprie applicazioni.

Gli Helpers si presentano come delle raccolte di funzioni dedicate a particolari ambiti di utilizzo, per cui vi saranno Helpers ideati appositamente per la gestione degli array, dei file e delle directory, delle date, delle sessioni e dei cookies, dei form, della posta elettronica e molti altri.

Gli Helpers messi a disposizione da CodeIgniter, a differenza di costrutti simili forniti da altri frameworks, non sono realizzati sulla base del paradigma OOP (Object Oriented Programming o Programmazione Orientata agli Oggetti) ma sulla base dell’approccio procedurale, sotto forma di comuni funzioni; per questo motivo CodeIgniter è utilizzabile anche in spazi Web basati su PHP 4.

Gli Helpers sono disponibili in due percorsi differenti:

system/helpers

e

system/application/helpers

Nel momento in cui un’applicazione presenta una chiamata ad un Helper, per il suo caricamento il framework andrà a cercarlo inizialmente all’interno del percorso "system/application/helpers", se non lo trova effettuarà una seconda ricerca all’interno di "system/helpers".

I file in cui sono salvati gli Helpers non vengono infatti caricati da CodeIgniter in modo predefinito, dovrà essere l’utilizzatore a richiederne il caricamento all’interno del codice, fatto questo, essi saranno disponibili globalmente per i Controllers e le View che ne fanno richiesta.

Come appena esposto, il caricamento di un Helper avviane attraverso una semplice chiamata che prevede la seguente sintassi:

$this->load->helper('nome_helper');

Per ogni Helper sarà disponibile un file con estensione ".php" (destinato a contenerlo), si avranno quindi "url_helper.php", "file_helper.php", "date_helper.php" etc. Quindi, se per esempio si desidera caricare l’Helper messo a disposizione dal framework per la gestione degli array, sarà possibile utilizzare la stringa seguente:

$this->load->helper('array');

Un qualsiasi Helper potrà essere caricato da un qualsiasi punto all’interno del codice di un Controller, per cui sarà possibile richiedere il caricamento di un Helper da una singola funzione e per tutte le funzioni messe a disposizione da un Controller; è possibile anche richiedere il caricamento di un Helper all’interno del codice di una View, ma questa pratica è sconsigliata dagli stessi sviluppatori di CodeIgniter.

Nel caso in cui si desideri caricare più Helpers tramite una stessa chiamata, basterà passarne i nomi alla funzione per il caricamento separandoli con una virgola

$this->load->helper( array('array', 'date', 'file') );

Utilizzare un Heper è molto semplice, infatti, una volta caricato le funzioni messe a disposizione da esso saranno immediatamente accessibili; l’esempio seguente mostra i passaggi necessari per il caricamento dell’Helper per la gestione degli array, per la definizione di un vettore e per la stampa a video di uno degli elementi che lo compongono con relativo valore:

// caricamento dell'Helper per la gestione degli array
$this->load->helper('array');

// definizione di un array
$mioarray = array('animale' => 'gatto', 
                  'utente' => 'borgo italia', 
                  'semaforo' => 'verde'
                 );

// restituzione di un valore tramite funzione messa a disposizione dall'Helper
echo element('animale', $mioarray);

Le poche righe di codice esposte danno vita ad un meccanismo estremamente semplice:

  • il caricamento dell’Helper mette a disposizione le funzioni previste per il relativo ambito di utilizzo (nel caso specifico: la gestione degli array);
  • l’array viene definito utilizzando la procedura consueta prevista da PHP, per cui ad ogni elemento (o indice) presente viene associato un valore;
  • la funzione element() permette di visualizzare il valore di un determinato elemento dell’array accettando come parametri il nome dell’indice e la variabile in cui è memorizzato l’array, per cui il valore restituito nel caso specifico sarà "gatto" in quanto associato all’elemento "animale".

Un Helper può essere sempre disponibile grazie ad un meccanismo denominato autoload (caricamento automatico) se il suo nome è presente nell’array "$autoload[‘helper’]" editabile tramite il file salvato sul percorso:

system/application/config/autoload.php

Di default questo array non presenta alcun valore:

$autoload['plugin'] = array();

Ma se per esempio si desidera rendere sempre disponibili globalmente gli Helpers per la gestione di array e date, basterà passarne i nomi come componenti dell’array:

$autoload['helper'] = array('array', 'date');

Si consiglia naturalmente di limitare l’autoload agli Helpers indispensabili per il progetto in sviluppo, in modo da non influire negativamente sulle prestazioni dell’applicazione in fase di produzione.

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.
Articolo precedente
Articolo successivo