Yii - Struttura dell'applicazione

C'è solo una cartella nella base di codice complessiva che è pubblicamente disponibile per il server web. È la directory web. Altre cartelle al di fuori della directory principale del Web sono fuori dalla portata del server Web.

Note - Tutte le dipendenze del progetto si trovano nel file composer.jsonfile. Yii2 ha alcuni pacchetti importanti che sono già inclusi nel tuo progetto da Composer. Questi pacchetti sono i seguenti:

  • Gii - Lo strumento per il generatore di codice
  • La console di debug
  • Il framework di test Codeception
  • La libreria SwiftMailer
  • La libreria dell'interfaccia utente di Twitter Bootstrap

I primi tre pacchetti sono utili solo nell'ambiente di sviluppo.

La struttura dell'applicazione di Yii2 è precisa e chiara. Contiene le seguenti cartelle:

  • Assets - Questa cartella include tutti i file .js e .css a cui si fa riferimento nella pagina web.

  • Commands - Questa cartella include i controller che possono essere utilizzati dal terminale.

  • Config - Questa cartella contiene config file per la gestione di database, applicazioni e parametri dell'applicazione.

  • Mail - Questa cartella include il layout della posta.

  • Models - Questa cartella include i modelli utilizzati nell'applicazione.

  • Runtime - Questa cartella serve per memorizzare i dati di runtime.

  • Tests - Questa cartella include tutti i test (accettazione, unità, funzionali).

  • Vendor - Questa cartella contiene tutti i pacchetti di terze parti gestiti da Composer.

  • Views- Questa cartella è per le visualizzazioni, che vengono visualizzate dai controller. La cartella layout è un modello di pagina.

  • Web - Il punto di ingresso dal web.

Struttura dell'applicazione

Di seguito è riportata la rappresentazione schematica della struttura dell'applicazione.

Yii2 - Oggetti

Il seguente elenco contiene tutti gli oggetti di Yii2:

Modelli, visualizzazioni e controller

I modelli servono per la rappresentazione dei dati (solitamente dal database). La vista serve per la visualizzazione dei dati. I controllori servono per elaborare le richieste e generare risposte.

Componenti

Per creare una funzionalità riutilizzabile, l'utente può scrivere i propri componenti. I componenti sono solo oggetti che contengono logica. Ad esempio, un componente potrebbe essere un convertitore di peso.

Componenti dell'applicazione

Si tratta di oggetti che sono stati istanziati solo una volta nell'intera applicazione. La differenza principale tra componenti e componenti dell'applicazione è che questi ultimi possono avere una sola istanza nell'intera applicazione.

Widget

I widget sono oggetti riutilizzabili contenenti sia logica che codice di rendering. Un widget potrebbe essere, ad esempio, uno slider di una galleria.

Filtri

I filtri sono oggetti che vengono eseguiti prima o dopo l'esecuzione delle azioni del controller.

Moduli

Puoi considerare i moduli come sottoapp riutilizzabili, contenenti modelli, visualizzazioni, controller e così via.

Estensioni

Le estensioni sono pacchetti che possono essere gestiti dal Composer.