Controllers i Laravel er klasser ansvarlige for å håndtere applikasjonslogikken og lette samspillet mellom modeller og visninger. Controllers bidra til å skille applikasjonslogikken fra brukergrensesnittet, og skape en klar og vedlikeholdbar prosjektstruktur.
Opprett kontroller
For å lage en kontroller i Laravel kan du bruke Laravel Artisan-kommandoen. For å lage en kontroller som heter UserController
, kan du for eksempel kjøre følgende kommando i terminalen:
Når kontrolleren er opprettet, kan du definere håndteringsmetoder i kontrolleren. I metoden kan du for eksempel index()
hente data fra en modell og sende dem til en visning for visning:
I eksemplet ovenfor bruker vi User
modellen til å hente brukerdata fra databasen. Vi sender deretter disse dataene til visningen users.index
for å vise en liste over brukere.
Controllers støtter også metoder som store()
, update()
, og delete()
for å håndtere dataoppretting, oppdatering og sletting. Du kan samhandle med databasen gjennom disse metodene.
HUser controller
inn route
For å bruke en controller
i route
kan du spesifisere controller
navnet og den tilsvarende metoden i routes/web.php
filen.
I dette eksemplet, når en bruker får tilgang til /users
URL-en, Laravel vil han kalle index()
metoden i for å UserController
håndtere forespørselen.
Opprett en visning for brukerlisteskjermen
For å lage users.index
filen kan du bruke følgende kommando:
Denne kommandoen vil opprette en index.blade.php
fil i resources/views/users
katalogen.
Når filen er opprettet, kan du åpne index.blade.php
filen og designe grensesnittet for users.index
siden. Du kan bruke Blade-syntaks til å lage HTML-strukturen og vise data fra kontrolleren.
I eksemplet ovenfor bruker vi oppsettet app.blade.php
gjennom @extends('layouts.app')
. Innholdet på siden er definert innenfor @section('content')
og viser en liste over brukere fra variabelen $users
i en @foreach
løkke.
For å bruke users.index
siden må du definere den tilsvarende ruten i filen routes/web.php
for å peke på metoden i kontrolleren og returnere visningen users.index
.
Oppsummert, controllers hjelpe Laravel skille applikasjonslogikken og håndtere databehandling. Ved å bruke controllers kan du bygge kraftige og vedlikeholdbare applikasjoner i Laravel.