Getting Started with symfony

Preparazione del progetto

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

Chapter Content

Creazione del progetto

Verifica dell'installazione

Configurazione del database

Creazione di un'applicazione

Permessi sulla struttura delle cartelle

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.4 version - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

In symfony, le applicazioni che condividono lo stesso modello dei dati sono raggruppate in progetti. Per la maggior parte dei progetti si avranno due diverse applicazioni: un frontend e un backend.

Creazione del progetto

Dalla cartella sfproject/, eseguire il task di symfony generate:project per creare effettivamente il progetto symfony:

$ php lib/vendor/symfony/data/bin/symfony generate:project PROJECT_NAME

Su Windows:

c:\> php lib\vendor\symfony\data\bin\symfony generate:project PROJECT_NAME

Il task generate:project genera la struttura predefinita di cartella e di file necessaria a un progetto symfony:

Cartella Descrizione
apps/ Contiene tutte le applicazioni del progetto
cache/ I file messi in cache dal framework
config/ I file di configurazione del progetto
data/ I file di dati, come infissi iniziale
lib/ Le classi e le librerie del progetto
log/ I file di log del framework
plugins/ I plugin installati
test/ I file per i test unitari e funzionali
web/ La cartella radice del web (vedi sotto)

Per quale motivo symfony genera così tanti file? Uno dei maggiori benefici che derivano dall'uso di un framework full-stack è quello della standardizzazione dello sviluppo. Grazie alla struttura predefinita di file e cartella di symfony, ogni sviluppatore che conosca symfony può occuparsi della manutenzione di qualsiasi progetto symfony. In pochi minuti avrà la possibilità di analizzare il codice, sistemare i bug e aggiungere nuove caratteristiche.

Il task generate:project crea anche un collegamento symfony nella cartella radice del progetto, per accorciare il numero di caratteri da scrivere quando si esegue un task.

Quindi, d'ora in poi, invece di usare il percorso completo a symfony, si può usare il collegamento symfony.

Verifica dell'installazione

Ora che symfony è installato, verificare che sia tutto a posto, utilizzando la riga di comando per visualizzare la versione di symfony (attenzione alla V maiuscola):

$ cd ../..
$ php lib/vendor/symfony/data/bin/symfony -V

Su Windows:

c:\> cd ..\..
c:\> php lib\vendor\symfony\data\bin\symfony -V

L'opzione -V mostra anche il percorso della cartella di installazione di symfony, memorizzato in config/ProjectConfiguration.class.php.

Se il percorso di symfony è assoluto (il che non dovrebbe essere, se si sono seguite le istruzioni viste sopra), modificarlo come segue, per una migliore portabilità:

// config/ProjectConfiguration.class.php
require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';

In questo modo, si può spostare la cartella del progetto ovunque, senza problemi.

Volendo sapere di più su questa riga di comando, digitare symfony per elencare le opzioni e i task disponibili:

$ php lib/vendor/symfony/data/bin/symfony

Su Windows:

c:\> php lib\vendor\symfony\data\bin\symfony

La riga di comando di symfony è il migliore amico dello sviluppatore. Mette a disposizione molti strumenti che migliorano la produttività per attività giornaliere come pulizia della cache, generazione di codice e molto altro.

Configurazione del database

Il framework symfony supporta nativamente tutti i database supportati da PDO (MySQL, PostgreSQL, SQLite, Oracle, MSSQL, ...). Appoggiandosi a PDO, symfony è distribuito con due strumenti ORM: Propel e Doctrine. Quando si crea un nuovo progetto, Doctrine è abilitato in modo predefinito. La configurazione del database è semplificata dall'uso del task configure:database:

$ php symfony configure:database "mysql:host=localhost;dbname=dbname" root mYsEcret

Il task configure:database accetta tre parametri: il DSN di PDO, il nome utente e la password per accedere al database. Se non si ha bisogno di una password per accedere al database sul server di sviluppo, basta omettere il terzo parametro.

Se si vuole usare Propel invece di Doctrine, aggiungere --orm=Propel quando si crea il progetto col task generate:project. Se invece non si vuole usare nessun ORM, basta passare --orm=none.

Creazione di un'applicazione

Creare l'applicazione frontend, eseguendo il task generate:app:

$ php symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret frontend

Essendo il collegamento a symfony un file eseguibile, gli utenti Unix possono d'ora in poi sostituire tutte le occorrenze di 'php symfony' con './symfony'

Su Windows, si può copiare il file 'symfony.bat' all'interno del progetto e usare 'symfony' invece di 'php symfony':

c:\> copy lib\vendor\symfony\data\bin\symfony.bat .

Basandosi sul nome dell'applicazione fornito come parametro, il task generate:app crea la struttura di cartella predefinita necessaria per l'applicazione, nella cartella apps/frontend/:

Cartella Descrizione
config/ I file di configurazione dell'applicazione
lib/ Le librerie e le classi dell'applicazione
modules/ Il codice dell'applicazione (MVC)
templates/ I file dei template globali

Permessi sulla struttura delle cartelle

Prima di provare ad accedere al nuovo progetto, occorre impostare i permessi di scrittura sulle cartella cache/ e log/ ai livelli appropriati, in modo tale che il server web possa scriverci dentro:

$ chmod 777 cache/ log/
Configurazione del Web Server »
« Installazione di symfony

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.