Se avete a che fare con la realizzazione di sistemi informativi che siano web-based e object oriented, allora, molto probabilmente, Symfony potrà rivelarsi utile per migliorare e rendere più veloce la creazione del vostro progetto.
Per sistemi di questo tipo, spesso si ricorre ad un'architettura a tre livelli conosciuta con l'acronimo MVC (Model-View-Controller) che, a grandi linee, garantisce una separazione logica tra la base dati (Model), l'interfaccia utente (View) e la logica applicativa (Controller). Symfony, è questa la comodità, con la semplice definizione della base dati, realizza in maniera automatica tutti gli oggetti appartenenti ai tre layer.
Questo potente quanto semplice framework è capace di sviluppare in maniera automatica, a partire dalla definizione della base dati scritta in un particolare formato, un'intera struttura informativa composta da:
- un'astrazione della base dati (classi tipologiche);
- metodi per accedere alla base dati;
- metodi per le operazioni fondamentali sulla base dati (inserimento, modifica, eliminazione);
- interfaccia grafica per le operazioni fondamentali sugli elementi della base dati (inserimento, modifica, eliminazione).
Symfony è un progetto open source, rilasciato con licenza MIT, e include due ORM (Object-Relational Mapping) come Propel o Doctrine, alcuni framework JavaScript come Prototype e jQuery, un editor Xhtml e altri utili strumenti. Symfony è scritto in PHP 5 che gira in ambienti tipici del mondo Linux (Apache, MySQL, PHP) ma è anche perfettamente utilizzabile anche sotto Windows. In questa guida si farà riferimento ad un'istallazione di Symfony in ambiente Windows, ma le stesse considerazioni valgono naturalmente in ambiente Linux.
Nelle prossime lezioni suggeriremo le conoscenze fondamentali per poter realizzare un'applicazione con Symfony senza pretendere di essere esaustiva.
Chi volesse leggere un'introduzione più approfondita su questo strumento potrebbe iniziare dall'articolo Symfony per PHP 5: presentazione e installazione pubblicato in questa sezione sezione di HTML.it.
Prerequisiti fondamentali
Utilizzare Symfony è facile e dunque non occorrono particolari requisiti per poter iniziare a conoscere questo framework. Tuttavia, per le sue caratteristiche fondamentali e per la tipologia di progetti per i quali vale effettivamente la pena utilizzare Symfony, crediamo che il lettore trarrà un maggior vantaggio dalla lettura di questa guida se ha già esperienza nella progettazione di sistemi informativi web-based e object-orienteed.
Si richiede la conoscenza di architetture multi-vello (modello MVC ad esempio), di almeno un linguaggio orientati agli oggetti (non importa se proprio PHP) e delle applicazioni web con tutta l'infrastruttura che la caratterizza (server web, data base centralizzato, CSS, ecc. ecc.). Per un'introduzione ai framework MVC rimandiamo all'articolo Analisi di un framework MVC in PHP pubblicato in questo stesso sito.
Per le particolari caratteristiche realizzative di Symfony la conoscenza del web server Apache, di data base quali MySQL, Oracle, e del PHP saranno di indubbio vantaggio anche se non strettamente necessarie.
Per quanto riguarda invece i prerequisiti software di cui bisogna disporre, per far funzionare Symfony occorre avere:
- Web server Apache 2.2 o superiore;
- PHP 5.2 o superiore;
- un data base tra quelli compatibili con Symfony, praticamente tutti i data base (MySQL, SQL Server, Oracle, PostGreSQL,...). Per gli scopi di questa guida consideriamo MySQL 5.1.
Chi volesse provare ad installare un'infrastruttura del genere sul proprio Pc può fare riferimento all'articolo PHP, Apache e MySql su Windows in un clic, che spiega come installare l'intera infrastruttura con semplici programmi applicativi.