Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Code Igniter: specifiche delle Librerie

Scopriamo l'utilità delle Librerie del framework PHP Code Igniter, componenti aggiuntive che permettono di integrare funzionalità extra nello sviluppo delle applicazioni.
Scopriamo l'utilità delle Librerie del framework PHP Code Igniter, componenti aggiuntive che permettono di integrare funzionalità extra nello sviluppo delle applicazioni.
Link copiato negli appunti

Le Librerie rappresentano, allo stesso modo degli Helpers, un componente aggiuntivo importante per Code Igniter. Le Librerie apportano diverse funzionalità extra per la realizzazione di applicazioni Web sul lato server.

A differenza però degli Helpers, che sono una collezione di funzioni proceduali indipendenti una dall'altra, le Librerie contengono vere e proprie classi complete, e si avvalgono dunque delle funzioanlità della OOP.

La seguente lista rappresenta tutte le classi contenute nelle Librerie offerte da Code Igniter:

  • Benchmarking Class
  • Caching Driver
  • Calendaring Class
  • Shopping Cart Class
  • Config Class
  • Email Class
  • Encrypt Class
  • Encryption Library
  • File Uploading Class
  • Form Validation
  • FTP Class
  • Image Manipulation Class
  • Input Class
  • Javascript Class
  • Language Class
  • Loader Class
  • Migrations Class
  • Output Class
  • Pagination Class
  • Template Parser Class
  • Security Class
  • Session Library
  • HTML Table Class
  • Trackback Class
  • Typography Class
  • Unit Testing Class
  • URI Class
  • User Agent Class
  • XML-RPC and XML-RPC Server Classes
  • Zip Encoding Class

Come possiamo notare, le funzioanlità offerte dalle Librerie coprono quasi completamente ogni possibile feature di sviluppo, dalla gestione delle mail a quella della sicurezza, fino al profiling dell'applicazione ed alle funzionalità FTP.

Includere una Libreria

Per includere una Libreria all'interno del nostro Controller, ci avvaliamo del solito Loader:

$this->load->library('nome_libreria');

Anche in questo caso, è possibile caricare una moltitudine di librerie attraverso un'unica chiamata a load passando come primo argomento un array i cui indici sono i nomi delle classi da includere:

$this->load->library(array('libreria-1', 'libreria-2'));

Le Librerie, essendo componenti di sistema, sono collocate nella cartella system/libraries/.

Utilizzare le funzionalità di una Libreria

A questo punto, vediamo come usufruire delle funzionalità di alcune Librerie. Nel seguente esempio utilizzeremo le classi Mail e UserAgent:

class Welcome extends CI_Controller {
	public function index()
	{
        // carica le librerie Mail e UserAgent
		$this->load->helper(array('mail', 'user_agent'));
        // configuriamo l'occorrente per inviare la nostra mail
		$mail = array(
			'from' => 'tuamailfrom@mail.com',
			'to' => 'tuamailto@mail.com'
			'cc' => 'altratuamail@mail.com'
			'bcc' => 'altratuamail2@mail.com',
			'name' => 'Nome Mail From',
			'subject' => 'Soggetto Mail',
			'message' => 'Testo della Mail'
		); 
		$this->email->from($mail['from'], $mail['name']);
		$this->email->to($mail['to']);
		$this->email->cc($mail['cc']);
		$this->email->bcc($mail['bcc']);
		$this->email->subject($mail['subject]);
		$this->email->message($mail['message]);
		// ed ora inviamo la mail
		$this->email->send();
		// usiamo i controlli della classe UserAgent per ottenere informazioni sul dispositivo in uso
		if ($this->agent->is_browser()) {
				$agent = $this->agent->browser() . ' ' . $this->agent->version();
		}
		elseif ($this->agent->is_robot()) {
				$agent = $this->agent->robot();
		}
		elseif ($this->agent->is_mobile()) {
				$agent = $this->agent->mobile();
		}
		else {
				$agent = 'Unidentified User Agent';
		}
		// stampa il tipo di dispositivo in uso
		echo $agent;
		// stampa il tipo di sistema operativo in uso
		echo $this->agent->platform(); 
	}
}

La Libreria Mail consente una gestione molto elegante (ed orientata agli oggetti) della configurazione e delle procedure di inoltro di e-mail. Ovviamente in questo caso la buona riuscita dell'operazione dipenderà anche dal pacchetto mail che il server sta utilizzando. Nel caso di un server locale che non dispone di default di questa funzionalità sarà necessaria una procedura di installazione di un server mail dedicato.

La Libreria UserAgent consente una gestione completa delle informazioni del device in uso dall'utente: la tipologia del dispositivo, la tipologia del sistema operativo (Windows, Mac, Linux), la tipologia e la versione del browser e una moltitudine di altre informazioni relative.

In questa guida non ci occuperemo di analizzare nel dettaglio tutte le classi offerte da Code Igniter, ma avremo modo di utilizzare alcune di esse nel corso dei tutorial e delle demo contenute nelle successive lezioni.

Ti consigliamo anche