Installare e configurare Symfony¶
Lo scopo di questo capitolo è quello di ottenere un’applicazione funzionante basata su Symfony. Fortunatamente, Symfony offre delle “distribuzioni”, che sono progetti Symfony di partenza funzionanti, che possono essere scaricati per iniziare immediatamente a sviluppare.
Tip
Se si stanno cercando le istruzioni per creare un nuovo progetto e memorizzarlo con un sistema di versionamento, si veda Usare un controllo di sorgenti.
Scaricare una distribuzione Symfony2¶
Tip
Verificare innanzitutto di avere un server web (come Apache) installato e funzionante con PHP. Per ulteriori informazioni sui requisiti di Symfony2, si veda il riferimento sui requisiti.
Symfony2 ha dei pacchetti con delle “distribuzioni”, che sono applicazioni funzionanti che includono le librerie del nucleo di Symfony2, una selezione di bundle utili e alcune configurazioni predefinite. Scaricando una distribuzione di Symfony2, si ottiene uno scheletro di un’applicazione funzionante, che può essere subito usata per sviluppare la propria applicazione.
Si può iniziare visitando la pagina di scaricamento di Symfony2, http://symfony.com/download. Su questa pagina, si vedrà la Symfony Standard Edition, che è la distribuzione principale di Symfony2. Si possono fare due scelte:
Opzione 1) Composer¶
Composer è una libreria di gestione delle dipendenze per PHP, utilizzabile per scaricare Symfony2 Standard Edition.
Iniziare con lo scaricare Composer sul proprio computer. Se si ha curl installato, è facile:
$ curl -s https://getcomposer.org/installer | php
Note
Se il computer non è pronto per usare Composer, si otterranno alcune raccomandazioni all’esecuzione del comando. Seguire tali raccomandazioni per far funzionare Composer correttamente.
Composer è un file PHAR eseguibile, che si può usare per scaricare la distribuzione Standard:
$ php composer.phar create-project symfony/framework-standard-edition /percorso/web/Symfony 2.4.*
Tip
Per scaricare i file dei venditori più velocemente, aggiungere l’opzione --prefer-dist
alla fine di ogni comando di Composer.
Tip
Aggiungere l’opzione -vvv
per vedere cosa sta facendo Composer. Può essere particolarmente
utile su una connessione lenta, dove si potrebbe avere l’impressione che non stia accadendo
nulla.
Questo comando può richiedere diversti minuti, mentre Composer scarica la distribuzione Standard e tutte le librerie dei venditori necessarie. Quando avrà finito, si dovrebbe avere una cartella simile a questa:
percorso/web/ <- la cartella radice del web (a volte chiamata htdocs o public)
Symfony/ <- la nuova cartella
app/
cache/
config/
logs/
src/
...
vendor/
...
web/
app.php
...
Opzione 2) Scaricare un archivio¶
Si può anche scaricare un archivio della Standard Edition. Qui, si possono fare due scelte:
- Scaricare un archivio
.tgz
o.zip
(sono equivalenti, scegliere quello che si preferisce); - Scaricare la distribuzione con o senza venditori. Se si pensa di usare molte librerie o bundle di terze parti e gestirli tramite Composer, probabilmente sarà meglio scaricare quella senza venditori.
Scaricare uno degli archivi e scompattarlo da qualche parte sotto la cartella
radice del web del server. Da linea di comando UNIX, lo si può fare con
uno dei seguenti comandi (sostituire ###
con il vero nome del file):
# per il file .tgz
$ tar zxvf Symfony_Standard_Vendors_2.3.###.tgz
# per il file .zip
$ unzip Symfony_Standard_Vendors_2.3.###.zip
Se si è optato per la versione senza venditori, occorerà leggere la prossima sezione.
Note
Si può facilmente modificare la struttura predefinita di cartelle. Si veda /cookbook/configuration/override_dir_structure per maggiori informazioni.
Tutti i file pubblici e il front controller, che gestisce le richieste in arrivo in
un’applicazione Symfony2, si trovano nella cartella Symfony/web/
. Quindi, ipotizzando
di aver decompresso l’archivio nella cartella radice del server web o di un host virtuale,
gli URL dell’applicazione inizieranno con http://localhost/Symfony/web/
.
Note
Gli esempi che seguono ipotizzano che le impostazioni sulla cartella radice non siano state modificate,
quindi tutti gli URL inizieranno con http://localhost/Symfony/web/
Aggiornare i venditori¶
A questo punto, si dispone di un progetto Symfony funzionale, nel quale si può iniziare a sviluppare la propria applicazione. Un progetto Symfony dipende da diverse librerie esterne. Queste vanno scaricate nella cartella vendor/ del progetto, tramite una libreria chiamata Composer.
A seconda di come Symfony è stato scaricato, si potrebbe aver bisogno o meno di aggiornare i venditori. Aggiornare i venditori è sempre sicuro e garantisce di disporre di tutte le librerie necessarie.
Passo 1: Ottenere Composer (il nuovo bellissimo sistema di pacchetti PHP)
$ curl -s http://getcomposer.org/installer | php
Assicurarsi di scaricare composer.phar
nella stessa cartella in cui si trova
il file composer.json
(per impostazione predefinita, la radice del progetto
Symfony).
Passo 2: Installare i venditori
$ php composer.phar install
Questo comando scarica tutte le librerie dei venditori necessarie, incluso
Symfony stesso, nella cartella vendor/
.
Note
Se non si ha curl
installato, si può anche scaricare il file installer
a mano, da http://getcomposer.org/installer. Mettere il file nel progetto ed
eseguire:
$ php installer
$ php composer.phar install
Tip
Quando si esegue php composer.phar install
o php composer.phar update
,
composer eseguirà dei comandi post installazione/aggiornamento per pulire la cache
e installare le risorse. Per impostazione predefinita, le risorse saranno copiate
nella cartella web
.
Invece di copiare le risorse, si possono creare dei collegamenti simbolici, se
supportato dal sistema operativo. Per creare collegamenti simbolici, aggiungere
una voce nel nodo extra
del file composer.json, con chiave
symfony-assets-install
e valore symlink
:
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "symlink"
}
Passando relative
invece di symlink
a symfony-assets-install, il comando genererà
collegamenti simbolici relativi.
Configurazione¶
A questo punto, tutte le librerie di terze parti necessarie sono nella
cartella vendor/
. Si dispone anche una configurazione predefinita dell’applicazione
in app/
e un po’ di codice di esempio in src/
.
Symfony2 dispone di uno strumento visuale per la verifica della configurazione del server, per assicurarsi che il server web e PHP siano configurati per usare Symfony2. Usare il seguente URL per la verifica della configurazione:
http://localhost/config.php
Se ci sono problemi, correggerli prima di proseguire.
Quando tutto è a posto, cliccare su “Go to the Welcome page” per accedere alla prima “vera” pagina di Symfony2:
http://localhost/app_dev.php/
Symfony2 dovrebbe dare il suo benvenuto e congratularsi per il lavoro svolto finora!
Tip
Per ottenere URL brevi, si dovrebbe far puntare la cartella radice del
server web o un host virtuale alla cartella Symfony/web/
. Sebbene
non sia obbligatorio per lo sviluppo, è raccomandato nel momento in cui
l’applicazione va in produzione, perché tutti i file di sistema e di configurazione
diventeranno inaccessibili ai client. Perinformazioni sulla configurazione di
uno specifico server web, leggere
/cookbook/configuration/web_server_configuration
o consultare la documentazione ufficiale del server:
Apache | Nginx .
Iniziare lo sviluppo¶
Ora che si dispone di un’applicazione Symfony2 pienamente funzionante, si può iniziare
lo sviluppo. La distribuzione potrebbe contenere del codice di esempio, verificare il file
README.md
incluso nella distribuzione (aprendolo come file di testo) per sapere
quale codice di esempio è incluso nella distribuzione scelta.
Per chi è nuovo in Symfony, in “Creare pagine in Symfony2” si può imparare come creare pagine, cambiare configurazioni e tutte le altre cose di cui si avrà bisogno nella nuova applicazione.
Dare un’occhiata anche al ricettario, che contiene una varietà di articoli su come risolvere problemi specifici con Symfony.
Note
Se si vuole rimuovere il codice di esempio dalla distribuzione, dare un’occhiata a questa ricetta: “/cookbook/bundles/remove“
Usare un controllo di sorgenti¶
Se si usa un sistema di controllo di versioni, come Git
o Subversion
, lo si
può impostare e iniziare a fare commit nel proprio progetto, come si fa normalmente.
Symfony Standard edition è il punto di partenza per il nuovo
progetto.
Per istruzioni specifiche su come impostare al meglio il proprio progetto per essere memorizzato in git, si veda /cookbook/workflow/new_project_git.
Ignorare la cartella vendor/
¶
Chi ha scelto di scaricare l’archivio senza venditori può tranquillamente
ignorare l’intera cartella vendor/
e non inviarla in commit al controllo di sorgenti.
Con Git
, lo si può fare aggiungendo al file .gitignore
la
seguente riga:
/vendor/
Ora la cartella dei venditori non sarà inviata in commit al controllo di sorgenti.
Questo è bene (anzi, benissimo!), perché quando qualcun altro clonerà o farà checkout
del progetto, potrà semplicemente eseguire lo script php composer.phar install
per
scaricare tutte le librerie dei venditori necessarie.