Funzionalità dello Zend Framework

weppos December 30th, 2007

Zend Framework può essere facilmente riconducibile ad una raccolta di librerie autonome, tuttavia è possibile organizzare gli attuali componenti (Zend Framework 1.0.3) in categorie classificando in modo più chiaro le caratteristiche e le funzionalità offerte dal framework.

Model View Controller (MVC)

Il tema MVC è senza dubbio uno dei più in voga nell’ultimo anno, anche grazie al proliferare di framework e soluzioni di agile development implementate secondo i canoni di questo design pattern.
Non stupisce dunque che i componenti MVC dello Zend Framework siano quelli che nell’ultimo semestre, in proporzione, abbiano assistito ad un’evoluzione maggiore.

Rientrano in questo ambito:

  • Zend_Controller, Zend_Controller_Action, Zend_Controller_Dispatcher, Zend_Controller_Plugin, Zend_Controller_RewriteRouter
  • Zend_View
  • Zend_Http_Request, Zend_Http_Response

Non lasciatevi ingannare dal fatto che Zend_View conti una sola citazione rispetto ai componenti dedicati al controller. Offre numerosissime funzionalità tipiche di un template engine, compreso il supporto a template engine esistenti.

Database

L’interazione con un database è una delle esigenze più comuni per un’applicazione web.
Zend Framework non offre un vero e proprio ORM, piuttosto un’astrazione di livello leggermente più elevato rispetto alle API messe a disposizione dal linguaggio PHP.

Non per nulla Zend_Db e Zend_Db_Table, i due componenti che rientrano in questo ambito, sono definiti come a lightweight solution for object-oriented programming with databases.

Rientrano in questo ambito:

  • Zend_Db
  • Zend_Db_Table

Internazionalizzazione (i18n) e Localizzazione (L10n)

Non è difficile immaginare quanto comune sia la necessità di localizzare o internazionalizzare un’applicazione, soprattutto quanto il suo successo e la sua diffusione si spingono oltre i confini iniziali.

Per venire incontro a queste esigenze, Zend Framework supporta sia l’internazionalizzazione sia la localizzazione. Questo significa sia supporto alle classiche traduzioni, sia supporto a formati data, ora e unità di misura localizzate.

Rientrano in questo ambito:

  • Zend_Date
  • Zend_Locale
  • Zend_Measure
  • Zend_Translate

Autenticazione, Autorizzazioni e gestione della Sessione

Un’applicazione mediamente complessa necessita di sistemi di autenticazione adeguati per garantire l’accesso alle risorse solo agli account con i corretti privilegi.
Anche in questo ambito Zend Framework offre diverse librerie utili per il supporto ai comuni protocolli di autenticazione, gestione delle sessioni di navigazione ed accesso a risorse basato su livelli e ruoli.

Rientrano in questo ambito:

  • Zend_Acl
  • Zend_Authentication
  • Zend_Session

Email e formati di dati

Le moderne applicazioni sono ricche di elementi multimediali, interfacce all’avanguardia per garantire una maggiore interazione tra l’utente ed il software.
JavaScript ad oggi parte integrante di ogni sito web dinamico, così come le email ed altri formati per lo scambio di dati.

Zend Framework offre librerie per lo scambio e la lettura di dati, la conversione di oggetti JSON in PHP e viceversa, generazione di PDF, oltre a lettura ed invio di email.

Rientrano in questo ambito:

  • Zend_Json, Zend_Pdf
  • Zend_Mail, Zend_Mime

Indicizzazione e Ricerca

Non è mistero che la tecnologia Lucene rappresenti una delle soluzioni più avanzate per la ricerca testuale, se non la migliore.
Zend Framework offre una libreria chiamata Zend_Search_Lucene che porta in PHP tutte le principali funzionalità di questo motore d’indicizzazione e ricerca scritto in Java.

Rientrano in questo ambito:

  • Zend_Search_Lucene

Web Service e Feed

Come documentato nell’introduzione a Zend Framework, i web service hanno sempre avuto un certo rilievo in Zend Framework così come i syndication feed.
Il framework integra un supporto per diversi popolari web service oltre che una libreria per leggere e scrivere feed Atom e RSS.

Inoltre, Zend Framework offre una serie di librerie che facilitano l’interazione con web service, interfacce RESTful, SOAP e XML-RPC.

Rientrano in questo ambito:

  • Zend_Feed, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client
  • Zend_Http_Server, Zend_Rest_Server, Zend_Server_Documentor, Zend_Server_Reflection, Zend_Soap_Server, Zend_XmlRpc_Server
  • Zend_Uri

Core

Figurano per ultime in questo elenco, ma non si pensi che queste librerie siano meno importanti.
Nell’ambito core rientrano tutte quelle librerie che fanno parte delle basi di un’architettura web e, molto spesso, lavorano dietro alle quinte.

Rientrano in questo ambito:

  • Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory
  • Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version
  • Zend_Filter, Zend_Validate

Trackback URI | Comments RSS

Leave a Reply