Passo 1: Preparazione dell’ambiente di lavoro

5.0 version
Maintained

Preparazione dell’ambiente di lavoro

Prima di iniziare a lavorare al progetto, è molto importante assicurarci che tutti abbiano a disposizione un buon ambiente di lavoro. Gli strumenti di cui disponiamo oggi sono molto diversi da quelli che avevamo dieci anni fa. Tali strumenti si sono evoluti molto e sarebbe un peccato non sfruttarli adeguatamente, visto che possono fare la differenza.

È bene non saltare questo passaggio. Consiglio almeno di leggere l’ultima sezione sulla CLI di Symfony.

Un computer

Avrete bisogno di un computer. La buona notizia è che il progetto può essere eseguito su uno qualsiasi fra i sistemi operativi più comuni, come macOS, Windows o Linux. Symfony e tutti gli strumenti che useremo sono compatibili con ognuna di queste piattaforme.

Preferenze personali

Voglio poter lavorare velocemente usando gli strumenti migliori fra quelli disponibili, perciò ho fatto scelte in base alle mie preferenze personali per questo libro.

Come database useremo PostgreSQL.

Per gestire le code utilizzeremo RabbitMQ.

IDE

È possibile utilizzare Notepad se lo si desidera, ma è un’opzione che non raccomando.

In passato utilizzavo Textmate, ma la comodità e le funzionalità di un vero IDE mi hanno fatto cambiare idea. Il completamento automatico, le istruzioni use aggiunte e ordinate automaticamente, e poter saltare con facilità da un file all’altro sono solo alcune delle caratteristiche che aumentano immediatamente la produttività.

Consiglierei di usare Visual Studio Code o PhpStorm. Il primo è gratuito, mentre il secondo non lo è, ma ha una migliore integrazione con Symfony (grazie al plugin per il supporto di Symfony). Ognuno è libero di scegliere quale utilizzare. Per chi si stesse chiedendo quale IDE utilizzi io stesso, sto scrivendo questo libro con Visual Studio Code.

Terminale

Alterneremo l’uso di un IDE e linea di comando. Nonostante gli IDE abbiano spesso dei terminali integrati, personalmente preferisco usarne uno dedicato in modo da poter avere più spazio a disposizione.

Su Linux si può trovare Terminale preinstallato, mentre su macOS si può utilizzare iTerm2. Su Windows, Hyper può essere una buona scelta.

Git

Ai tempi del mio ultimo libro, Subversion era lo strumento più diffuso per il controllo delle versioni del codice. Ora la maggioranza degli sviluppatori usa Git.

Su Windows, installiamo Git bash.

Assicuriamoci di conoscere i comandi più comuni, come ad esempio git clone, git log, git show, git diff, git checkout, …

PHP

Nonostante l’utilizzo di Docker, mi piace in ogni caso avere PHP installato localmente sul mio computer per motivi di prestazioni, stabilità, e semplicità. Forse sarò all’antica, ma trovo perfetta la combinazione di un ambiente PHP locale e delle funzionalità di Docker.

Useremo PHP 7.3 se possibile, forse 7.4 a seconda di quando si leggerà questo libro. Controlliamo che queste estensioni di PHP siano installate: intl, pdo_pgsql, xsl, amqp, gd, openssl, e sodium; redis e curl sono consigliate ma non obbligatorie.

È possibile controllare le estensioni attualmente abilitate eseguendo il comando php -m.

Se supportato dalla piattaforma in uso useremo php-fpm, ma come alternativa php-cgi funziona comunque bene.

Composer

Al giorno d’oggi uno strumento per gestire le dipendenze è fondamentale. Installeremo l’ultima versione di Composer , lo strumento di gestione dei pacchetti per PHP.

Se non si ha familiarità con Composer, è il caso di fermarsi un attimo per capirne il funzionamento.

Suggerimento

Non è necessario digitare i nomi completi dei comandi: composer req funziona come composer require , così come composer rem è equivalente a composer remove, e così via.

Docker e Docker Compose

I servizi saranno gestiti da Docker e Docker Compose. Bisogna installarli e avviare Docker. Se si è alle prime armi, passare qualche minuto ad acquisire familiarità con lo strumento è consigliato. Ma il nostro uso sarà molto semplice, per cui non è il caso di spaventarsi: le configurazioni che useremo saranno lineari e razionali.

Symfony CLI

Per ultima, ma non per questo meno importante, useremo la CLI symfony. Grazie al suo server locale, alla piena integrazione con Docker, e al supporto di SymfonyCloud, ci permetterà di risparmiare molto tempo e di conseguenza essere più produttivi.

Installiamo la CLI di Symfony e spostiamola all’interno della propria $PATH. Se non se ne dispone già, creiamo un account SymfonyConnect, ed effettuiamo infine il login tramite il comando symfony login.

Per poter utilizzare HTTPS localmente, occorre installare una _certificate authority_ (CA) per abilitare il supporto a TLS. Eseguiamo il seguente comando:

1
$ symfony server:ca:install

Verifichiamo che il computer abbia tutti i requisiti necessari eseguendo il seguente comando:

1
$ symfony book:check-requirements

Come tocco finale, si può anche eseguire il proxy di Symfony. È opzionale, ma ci permette di utilizzare un nome di dominio locale con suffisso .wip per il nostro progetto.

Quando eseguiremo un comando in un terminale, lo faremo iniziare quasi sempre con symfony. Ad esempio useremo symfony composer invece di un semplice composer, o symfony console posto di ./bin/console.

La ragione principale è che la CLI di Symfony imposta automaticamente alcune variabili d’ambiente in base ai servizi in esecuzione tramite Docker. Queste variabili d’ambiente sono disponibili per le richieste HTTP poiché il server web locale le aggiunge automaticamente. Per questo motivo, l’utilizzo della CLI symfony ci garantisce lo stesso comportamento su tutti gli ambienti.

Inoltre, la CLI di Symfony seleziona automaticamente la versione «migliore» di PHP per il progetto.


This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.