Come anticipato nella lezione precedente, l'installazione del framework PHP Symfony ha generato all’interno della nostra directory app
lo skeleton di un’applicazione standard.
La directory public/
In una fase di installazione "pulita", troveremo all'interno della directory public/
soltanto il front controller, cioè il file index.php
verso cui punta il Web server e che contiene il codice necessario ad avviare Symfony quando si riceve una richiesta.
Questa è l’unica directory accessibile dal Web server, tale caratteristica implica che eventuali file statici (per esempio immagini, fogli di stile, ecc.) verranno inseriti all'interno di essa.
La directory src/
drwxr-xr-x 3 www-data www-data 96 Nov 24 15:09 Controller
drwxr-xr-x 3 www-data www-data 96 Nov 24 15:09 Entity
drwxr-xr-x 3 www-data www-data 96 Nov 24 15:09 Migrations
drwxr-xr-x 3 www-data www-data 96 Nov 24 15:09 Repository
-rw-r--r-- 1 www-data www-data 2098 Nov 24 15:15 Kernel.php
In questa directory verrà archiviato il codice che scriveremo per la nostra applicazione. Essa conterrà quindi tutte le nostre entità, i nostri controller, ecc.
Troviamo inoltre il file chiamato Kernel.php
che è il vero "cuore" di una qualunque applicazione basata su Symfony, all'interno di questo file troviamo infatti la classe PHP che si occupa di orchestrare il tutto.
La directory templates/
La directory templates/
viene utilizzata dal framework per gestire i template Twig con cui renderizzare le pagine del nostro progetto. Al momento corrente, cioè immediatamente dopo l'installazione, essa contiene unicamente il file base.html.twig
. Il nome di quest'ultimo ci suggerisce che esso sarà il file principale in cui inserire la struttura base del markup. Man mano che l’applicazione prenderà forma andremo ad inserire le cartelle e i file di template che la comporranno.
Le directory tests/
e translations/
In un’installazione "pulita" di Symfony le directory tests/
e translations/
sono vuote, si tratta però delle cartelle in cui durante lo sviluppo aggiungeremo, rispettivamente, i test della nostra applicazione e i file per la traduzione.
Per chi non sapesse cosa sono i test, e volesse approfondire ulteriormente l’argomento, si consiglia caldamente di iniziare da una ricerca su Google con la chiave di ricerca Test Driven Development.
La directory var/
In questa directory vengono memorizzati i file che non devono essere versionati. Di base essa contiene i log e la cache, ma può essere utilizzata per qualsiasi contenuto riteniamo utile non venga versionato.
La directory vendor/
Come accade per la directory var/
, anche questa cartella non viene mai versionata in una qualsiasi applicazione PHP basata su Symfony. Essa contiene i file delle librerie esterne che vengono aggiunte attraverso il gestore di pacchetti Composer.