Installare e configurare Symfony¶
Lo scopo di questo capitolo è mettere in grado di avere un’applicazione funzionante basata su Symfony. Per semplificare il processo di creazione di nuove applicazioni, Symfony fornisce un installatore.
Installare l’installatore di Symfony¶
L’utilizzo dell’installatore di Symfony è l’unico modo raccomandato di creare nuove applicazioni Symfony. Questo installatore è un’applicazione PHP, che va installata solo una volta e che può quindi creare tutte le applicazioni Symfony.
Note
L’installatore richiede PHP 5.4 o successivi. Se si usa ancora la vecchia versione PHP 5.3, non si può usare l’installatore di Symfony. Leggere Creare applicazioni Symfony senza l’installatore per sapere come procedere.
A seconda del sistema operativo, l’installatore va installato in modi diversi.
Sistemi Linux e Mac OS X¶
Aprire un terminale ed eseguire i seguenti tre comandi:
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
Questo creerà nel sistema un comando globale symfony
.
Sistemi Windows¶
Aprire la console dei comandi ed eseguire il seguente comando:
c:\> php -r "readfile('https://symfony.com/installer');" > symfony
Quindi, spostare il file symfony.phar
nella cartella dei progetti ed
eseguirlo, come segue:
c:\> move symfony c:\progetti
c:\progetti\> php symfony
Creare l’applicazione Symfony¶
Una volta che l’installatore Symfony è pronto, creare la prima applicazione Symfony con
il comando new
:
# Linux, Mac OS X
$ symfony new progetto
# Windows
c:\> cd projects/
c:\projects\> php symfony.phar new progetto
Questo comando crea una nuova cartella, chiamata progetto
, che contiene un
nuovo progetto, basato sulla versione di Symfony più recente. Inoltre,
l’installatore verifica se il sistema soddisfa i requisiti tecnici per
eseguire applicazioni Symfony. In caso negativo, si vedrà una lista di modifiche
necessarie a soddisfare tali requisiti.
Tip
Per ragioni di sicurezza, tutte le versioni di Symfony sono firmate digitalmente prima di essere distribuite. Se si vuole verificare l’integrità di una versione di Symfony, seguire i passi spiegati in questo post.
Note
Se l’installatore non funziona o non mostra nulla, assicurarsi che l’estensione Phar sia installata e abilitata.
Basare un progetto su una specifica versione di Symfony¶
Se un progetto deve essere basato su una specifica versione di Symfony, passare il numero
di versione come secondo parametro del comando new
:
# usa la versione più recente di un ramo di Symfony
$ symfony new progetto 2.3
$ symfony new progetto 2.5
$ symfony new progetto 2.6
# usa una specifica versione di Symfony
$ symfony new progetto 2.3.26
$ symfony new progetto 2.6.5
# usa la versione LTS (Long Term Support) più recente
$ symfony new progetto lts
Se si vuole basare un progetto sull’ultima versione LTS di Symfony,
passare lts
come secondo parametro del comando new
:
$ symfony new progetto lts
Leggere il processo di rilascio di Symfony per comprendere meglio il motivo per cui esistono varie versioni di Symfony e quale usare per i propri progetti.
Creare applicazioni Symfony senza l’installatore¶
Se si usa ancora PHP 5.3 o se non si può eseguire l’installatore per altre ragioni, si possono creare applicazioni Symfony usando un metodo alternativo di installazione, basato su Composer.
Composer è un gestore di dipendenze, usato da applicazioni PHP moderne, e può essere usato per creare nuove applicazioni basate sul framework Symfony. Se non lo si ha già installato globalmente, seguire la prossima sezione.
Installare Composer globalmente¶
Iniziare con installare Composer globalmente.
Creare un’applicazione Symfony con Composer¶
Una volta installato Composer, eseguire il comando create-project
per creare una nuova applicazione Symfony, basata sull’ultima versione stabile:
$ composer create-project symfony/framework-standard-edition progetto
Se si deve basare l’applicazione su una specifica versione di Symfony, fornire la
versione come secondo parametro del comando create-project
:
$ composer create-project symfony/framework-standard-edition progetto '2.3.*'
Tip
Con una connessione Internet lenta, si potrebbe pensare come Composer non stia
facendo nulla. Nel caso, aggiungere l’opzione -vvv
al comando precedente
per mostrare un output dettagliato di tutto ciò che Composer sta facendo.
Eseguire l’applicazione Symfony¶
Symfony sfrutta il server web interno fornito da PHP per eseguire applicazioni mentre le si sviluppa. Quindi, per eseguire un’applicazione Symfony basta andare nella cartella del progetto ed eseguire il seguente comando:
$ cd progetto/
$ php app/console server:run
Quindi, aprire un browser ed accedere all’URL http://localhost:8000
per vedere
la pagina di benvenuto di Symfony:
Al posto di questa pagina di benvenuto, si potrebbe vedere una pagina bianca o di errore. Questo dipende da un problema di configurazione dei permessi delle cartelle. Ci sono varie possibili soluzioni, a seconda del sistema operativo. Sono tutte spiegate nella sezione Impostazione dei permessi.
Note
Il server interno di PHP è disponibile in PHP 5.4 o successivi. Se si usa ancora la vecchia versione 5.3, occorrerà configurare un host virtuale nel proprio server web.
Il comando server:run
è disponibile solo durante lo sviluppo di un’applicazione. Per
eseguire applicazioni Symfony su server di produzione, si dovrà configurare un
server web Apache o Nginx, come spiegato in
/cookbook/configuration/web_server_configuration.
Dopo aver finito di lavorare su un’applicazione Symfony, si può fermare il server premendo Ctrl+C nel terminale:
Verifica della configurazione di un’applicazione Symfony¶
Le applicazioni Symfony dispongono di un test per la configurazione del server, che mostra se l’ambiente è pronto per usare Symfony. Accedere al seguente URL per verificare la propria configurazione:
http://localhost:8000/config.php
Se ci sono problemi, correggerli prima di procedere.
Aggiornare applicazioni Symfony¶
A questo punti, si dispone di un’applicazione Symfony pienamente funzionale,
in cui si può sviluppare il proprio progetto. Un’applicazione Symfony dipende da
varie librerie esterne. Queste sono scaricate nella cartella vendor/
e
sono gestite esclusivamente da Composer.
L’aggiornamento frequente di queste librerie di terze parti è una buona pratica, per prevenire bug
e vulnerabilità di sicurezza. Eseguire il comando update
di Composer per aggiornarle
tutte insieme:
$ cd progetto/
$ composer update
A seconda della complessità del progetto, questo processo di aggiornamento può impiegare anche vari minuti per essere completato.
Tip
Symfony fornisce un comando per verificare se le dipendenze di un progetto contengano vulnerabilità note:
$ php app/console security:check
Una buona pratica di sicurezza consiste nell’eseguire regolarmente questo comando, per poter aggiornare o sostituire delle dipendenze compromesse, il prima possibile.
Installare l’applicazione demo di Symfony¶
L’applicazione demo di Symfony è un’applicazione funzionate, che mostra il modo raccomandato di sviluppare applicazioni Symfony. L’applicazione è stata concepita come strumento di apprendimento per novizi di Symfony e il suo codice sorgente contiene vai commenti e note utili.
Per scaricare l’applicazione demo di Symfony, eseguire il comando demo
dell’installatore di Symfony:
# Linux, Mac OS X
$ symfony demo
# Windows
c:\progetti\> php symfony demo
Una volta scaricata, entrare nella cartella symfony_demo/
ed eseguire il server web
interno di PHP, tramite il comando php app/console server:run
. Accedere
all’URL http://localhost:8000
con un browser per iniziare a usare
l’applicazione demo di Symfony.
Installare una distribuzione di Symfony¶
Il progetto Symfony impacchetta “distribuzioni”, che sono applicazioni pienamente funzionali, che includono le librerie del nucleo di Symfony, una selezione di bundle utili, una struttura di cartelle appropriata e alcune configurazioni predefinite. In effetti, quando è stata creata un’applicazione Symfony, nelle sezioni precedenti, in realtà è stata scaricata la distribuzione predefinita fornita da Symfony, chiamata Symfony Standard Edition.
Symfony Standard Edition è la distribuzione più popolare ed è anche la scelta migliore per sviluppatore che iniziano con Symfony. Tuttavia, la comunità di Symfony ha pubblicato altre distribuzioni, che si potrebbe voler usare in un’applicazione:
- Symfony CMF Standard Edition è una distribuzione pensata per partire con il progetto Symfony CMF, che rende più facile per gli sviluppatori l’aggiunta di funzionalità CMS ad applicazioni basate sul framework Symfony.
- Symfony REST Edition mostra come costruire un’applicazione che fornisca un’API REST, usando FOSRestBundle e vari altri bundle correlati.
Uso di un controllo dei sorgenti¶
Se si usa un sistema di controllo di versione, come Git, si può tranquillamente eseguire il commit
do tutto il codice del progetto. Questo perché le applicazioni Symfony contengono già un file
.gitignore
, preparato appositamente per Symfony.
Per istruzioni specifiche su come impostare al meglio un progetto per essere memorizzato in Git, vedere /cookbook/workflow/new_project_git.
Usare un’applicazione Symfony versionata¶
Quando si usa Composer èer gestire le dipendenze di un’applicazione, si raccomanda di
ignorare l’intera cartella vendor/
, prima di eseguire commit di codice nel
repository. Questo vuole dire che, quando si esegue il checkout di un’applicazione Symfony da un
repository Git, non ci sarà la cartella vendor/
e l’applicazione non funzionerà
immediatamente.
Per farlo funzionare, eseguire il checkout dell’applicazione Symfony ed eseguire il comando
install
di Composer, per scaricare e installare tutte le dipendenze richieste
dall’applicazione:
$ cd progetto/
$ composer install
Come fa Composer a sapere quali dipendenze installare? Perché quando si esegue il
commit di un’applicazione Symfony su un repository, si includono i file composer.json
e
composer.lock
nel commit. Questi file dicono a Composer quali
dipendenze (e in quali specifiche versioni) installare nell’applicazione.
Iniziare lo sviluppo¶
Ora che si dispone di un’applicazione Symfony pienamente funzionale, si può iniziare
lo sviluppo! La distribuzione potrebbe contenere del codice di esempio, verificare sul file
README.md
incluso (aprirlo come file di testo) per
conoscere l’eventuale codice di esempio incluso nella distribuzione.
Chi è nuovo su Symfony può fare riferimento a “Creare pagine in Symfony”, dove si imparerà come creare pagine, cambiare configurazione e ogni altra cosa necessaria per la nuova applicazione.
Assicurarsi di dare un’occhiata anche al ricettario, che contiene una grande varietà di ricette, pensate per risolvere problemi specifici con Symfony.