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

Cosa si può fare con Symfony

Cosa è Symfony, a cosa serve, cosa si può fare e quando scegliere questo potente framework per PHP 5
Cosa è Symfony, a cosa serve, cosa si può fare e quando scegliere questo potente framework per PHP 5
Link copiato negli appunti

Il naturale utilizzo di Symfony è la realizzazione di applicazioni web-based di una certa complessità. Quando infatti un progetto richiede l'utilizzo di un'architettura multi-tier e una base dati piuttosto articolata può essere presa in considerazione l'opportunità dell'utilizzo di Symfony per la sua realizzazione. Non vale la pena utilizzare Symfony per realizzare un semplice sito web che magari non ha bisogno neppure di una base dati. Per questo è più indicato l'utilizzo di un CMS quale ad esempio Joomla (in ambiente PHP) o DotNetNuke (in ambiente Visual Basic .NET).

Non è consigliato l'utilizzo di Symfony (anche se qui qualche eccezione merita di essere considerata) neppure per quelle applicazioni che verranno utilizzate sempre e solo da un singolo utente. Infatti vale la pena scomodare un web server per un software che potrebbe invece avere prestazioni migliori se istallato e rilasciato su un singolo PC (software a 32 bit per intenderci)?

Vale la pena invece prendere in considerazione l'utilizzo di Symfony per quei gestionali multiutenti in cui la base dati ha una certa complessità e in cui le funzionalità siano piuttosto comuni: inserimento, modifica ed eliminazione di informazioni.

Quando invece l'utente finale ha bisogno di un'applicazione che si discosta fortemente da queste elementari operazioni, è necessario considerare come Symfony, per automatizzare la procedura di realizzazione del software, utilizzi un'architettura che potrebbe essere non facilmente intuibile dal progettista e dal programmatore. Va dunque considerato il costo, inteso come difficoltà almeno iniziale, dell'implementazione di funzionalità specifiche nella struttura di Symfony.

Perché usare Symfony (vantaggi e svantaggi)

Symfony consente di realizzare sistemi informativi web-based e object-orienteed professionali con estrema semplicità in quanto gran parte della creazione del codice sorgente è automatizzata a partire dalla struttura della base dati. Il codice prodotto è ben organizzato in un'architettura 2-tier del tipo MVC che permette la suddivisione tra dati, logica di business e interaccia utente. Inoltre questo tipo di architettura portano ad avere ottime caratteristiche di:

  • manutenibilità;
  • scalabilità;
  • modularità;
  • riutilizzo

del codice scritto.

Se andiamo a confrontare le righe di codice per una certa applicazione scritta senza l'utilizzo dell'architettura propria di Symfony (il modello MVC) con le righe di codice della stessa applicazione prodotti da Symfony vedremo che, apparentemente, l'utilizzo di una architettura come quella utilizzata da Symfony sembra complicare notevolmente lo sviluppo del progetto: spesso le classi richiamate nelle procedure si trovano in diverse directory e il codice appare essere non immediatamente comprensibile. In realtà, una volta presa confidenza con questo modo di lavorare, si noteranno come i vantaggi sono infinitamente superiori alle fatiche in quanto il codice prodotto è davvero utilizzabile sotto diverse configurazioni con piccole modifiche. Ad esempio cambiare data base (MySQL, PostGreeSQL,Microsoft SQServer, ecc. ecc.) o formato del risultato finale (HTML, PDF, DOC, ecc. ecc.) non comporta dover riscrivere tutto il codice ma semplicemente cambiare il file dedicato a quel compito.

Naturalmente per semplici applicazioni che utilizzano piccole basi dati non strutturate o che non le utilizzino affatto (ad esempio siti web statici) non vale la pena l'utilizzo di uno strumento come Symfony che potrebbe risultare troppo complicato per quelle finalità. Anche qualora un applicativo dovesse essere troppo al di fuori delle funzionalità "standard" implementate automaticamente da Symfony, ovvero le operazioni basilari per la gestione di una base dati (inserimento, visualizzazione, modifica e cancellazione) potrebbe risultare particolarmente oneroso dover implementare metodi ad hoc in un framework già fortemente "standard".


Ti consigliamo anche