Skip to content

Controllers ​

Documentazione di riferimento: Laravel Controllers

Nel Framework Laravel il controller è il punto dove vengono raccolti gli input, viene elaborata la logica applicativa e quindi viene fornita una risposta.

Di solito c'è un legame stretto tra un controller ed una risorsa su database, infatti di default i nostri controller mettono a disposizioni i seguenti metodi:

  • configuration: Datatables Configuration
  • index: elenco risorse
  • show: dettaglio risorsa
  • store: creazione risorsa
  • update: aggiornamento risorsa
  • destroy: cancellazione risorsa

E' fondamentale nei controller cercare di modularizzare il più possibile il codice e spostarlo in classi apposite così da rendere il controller snello e di facile lettura. Esempio:

Nella maggior parte dei casi i controller da noi utilizzati sono creati automaticamente dal comando weconstudio:model:init.

Spesso utilizziamo api di risorse innestate, esempio:

GET categories/{category}/products

in questo caso è preferibile creare un controller specifico, esempio CategoryProductController, che gestirà la richiesta. In questo modo lasciamo libero il classico ProductController che potrebbe avere logiche differenti.

Controller Innestati ​

Per generarli possiamo utilizzare il comando:

sh
sail artisan weconstudio:model:init products --parent=categories

Maggiori informazioni qui weconstudio:model:init.