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
- Zend Framework
- Comments(0)