Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La directory Apps

Analisi delle directory create da Symfony. Analisi della directory delle applicazioni
Analisi delle directory create da Symfony. Analisi della directory delle applicazioni
Link copiato negli appunti

Andiamo ora ad esplorare l'albero delle directory all'interno della sf_sandbox. Ecco la loro rappresentazione:

Directory Sotto-directory Descrizione
apps Contiene una directiry per ciascuna applicazione del progetto (generlamente frontend e backend rispettivamente per il front-office e il back-office)
frontend Front-office
backend Back-office
cache Contiene la versione "cachata" dell'applicazione e, se attivata, la versione di cache delle azioni e dei template del progetto. Serve per migliorare le prestazioni dell'applicativo web.
config Contiene le configurzaioni dell'applicativo web sotto forma di file YAML, ed altri formati (.ini, .php, ecc. ecc)
data Contiene i file relativi al database (schema, file .sql, database SQLite, ecc. ecc.)
sql Contiene i file .sql
doc Contiene la documentazione relativa al progetto
lib Contiene librerie e classi esterne al progetto
model Contiene le classi relative al modello ad oggetti del progetto.
log Contiene i file di log generati direttamente da Symfony; può contenere anche file di log relativi al web server o al database o provenienti da qualsiasi parte del progetto. Symfony genera un file di log per ogni applicazione e per ogni ambiente.
plugins Contiene i plug-in istallati nell'applicazione
test Contiene i test unitari e funzionali scritti in PHP e compatibili con il framework di test di Symfony. Durante l'istallazione Symfony aggiunge automaticamente gli elementi necessari per alcuni test di base.
bootstrap
unit
functional
web È la directory principale per il web server. Qualisasi file accessibile da internet deve essere inserito in questa directory.
css Contiene i fogli di stile.
images Contiene le immagini.
js Contiene file javascript.
uploads Contiene i file inseriti dagli utenti.

Un progetto Symfony è costituito da una serie di applicativi, contenuti ciascuno in un'apposita directory all'interno di apps, ciascuno dei quali è costituito a sua volta da uno o più moduli contenuti nella directory modules all'interno della directory del proprio applicativo. Inoltre questi moduli non sono altro che l'astrazione delle tabelle della base dati. Ad esempio: il progetto agenda può avere come applicazioni calendario e rubrica e quest'ultima può contenere i moduli nome e indirizzo.

Ogni elemento contenuto in un certo livello (ad es. il template del modulo indirizzo) eredita dell'omologo del livello superiore (template dell'applicativo agenda) ed è possibile, naturalmente, estendere e sovrascrivere gli elementi in esso contenuti.

Vale dunque la pena soffermarsi sulla directory apps che, al suo interno, contiene una directory per ogni applicazione del progetto (tipicamente frontend e backend però in fase di setup è possibile assegnare loro un nome diverso).

La sotto-directory dell'applicazione, a sua volta, contiene una struttura simile a quella riportata di seguito.

apps/
     [nome applicazione]/
         config/
         i18n/
         lib/
         modules/
         templates/
              layout.php
  • La directory config contiene i file di configurazione in formato YAML. In questa directory si trovano tutti i principali file di configurazione, a parte quelli dell'intero framework
  • La directory i18n contiene i file per l'internazionalizzazione dell'applicazione come ad esempio il dizionario per la traduzione dell'interfaccia utente. È possibile comunque non utilizzare questo meccanismo per gestire il multilinguismo e affidare questo incaricio al database.
  • La directory lib contiene classi e librerie specifiche per l'applicazione.
  • La directory modules contiene tutti i moduli che caratterizzano l'applicazione.
  • La directory templates contiene i template generali utilizzati da tutti i moduli dell'applicazione. Per default contiene il file layout.php che è il template nel quale vengono inseriti tutti i template dei vari moduli.

Andiamo ad esplorare ora una directory di un particolare modulo.

apps/
     [nome applicazione]/
         modules/
              [nome modulo]/
                   actions/
                        actions.class.php
                   config/
                   lib/
                   templates/
                        indexSuccess.php
  • La directory actions generalmente contiene un solo file denominato action.class.php nel quale sono contenuti tutti i metodi del modulo. È anche possibile salvare altri metodi dello stesso modulo in altri file.
  • La directory config contiene file per la configurazione specifica del singolo modulo.
  • La directory lib contiene classi e librerie specifiche per il modulo.
  • La directory templates contiene i template corrispondenti ai metodi del modulo. In fase di setup viene creato un template di default chiamato indexSuccess.php.

Ti consigliamo anche