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.