Getting Started with symfony

Gli ambienti

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "Getting Started with symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Tutorial Content

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com
symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "Getting Started with symfony" in Italian for the 1.2 version - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.

Guardando nella directory web/, ci saranno due file PHP: index.php e frontend_dev.php. Questi file sono chiamati front controller e vengono utilizzati per gestire tutte le richieste fatte all'applicazione. Ma perché avere due front controller per ogni applicazione?

Entrambi i file puntano alla stessa applicazione, ma per ambienti differenti. Quando viene sviluppata un'applicazione, ad eccezione di quelle sviluppate direttamente sul server di produzione, diversi ambienti sono necessari:

Cosa rende ogni ambiente differente? Ad esempio nell'ambiente di sviluppo, l'applicazione deve registrare tutti dettagli delle richieste per rendere più facile il debug del codice, contemporaneamente deve avere la cache disabilitata per permettere di vedere subito i risultati del proprio lavoro. In sostanza l'ambiente di sviluppo deve essere ottimizzato per gli sviluppatori. Il miglior esempio che si può dare è quello delle eccezioni del framework. Per aiutare lo sviluppatore a controllare il proprio codice velocemente, symfony mostra l'eccezione per la richiesta fatta, con tutte le informazioni ad essa correlate, direttamente all'interno del browser:

Una eccezione nell'ambiente di sviluppo

Ma nell'ambiente di produzione la cache deve essere attivata e, ovviamente, l'applicazione deve mostrare i messaggi di errore personalizzati invece che lo stack delle eccezioni. Quindi, l'ambiente di produzione deve essere ottimizzato per le prestazioni e per la user experience.

Una eccezione nell'ambiente di produzione

Se vengono aperti i file di front controller, si potrà notare che il contenuto degli stessi è uguale ad eccezione dei parametri che definiscono l'ambiente:

// web/index.php
<?php
 
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

La toolbar di web debug è un altro grande esempio dell'utilizzo degli ambienti. Questa è presente in tutte le pagine dell'ambiente di sviluppo e dà accesso a molte informazioni cliccando sulle differenti aree, ad esempio: i parametri di configurazione dell'attuale applicazione, i log per la richiesta http corrente, le richieste SQL eseguite sul database, informazioni sulla memoria e sul tempo di esecuzione.

E ora? »
« Configurazione del Web Server

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.