Controllers luokat Laravel vastaavat sovelluslogiikan käsittelystä ja mallien ja näkymien välisen vuorovaikutuksen helpottamisesta. Controllers auttaa erottamaan sovelluslogiikan käyttöliittymästä luoden selkeän ja ylläpidettävän projektirakenteen.
Luo ohjain
Laravel Voit luoda ohjaimen sovellukseen käyttämällä Laravel Artisan-komentoa. Jos haluat esimerkiksi luoda ohjaimen nimeltä UserController
, voit suorittaa seuraavan komennon päätteessä:
php artisan make:controller UserController
Kun ohjain on luotu, voit määrittää ohjaimessa käsittelytapoja. Menetelmässä voit esimerkiksi index()
hakea tietoja mallista ja välittää ne näkymään näyttöä varten:
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', ['users' => $users]);
}
// Other handling methods
}
Yllä olevassa esimerkissä käytämme mallia User
käyttäjätietojen hakemiseen tietokannasta. Välitämme sitten nämä tiedot näkymään, users.index
jotta voimme näyttää käyttäjäluettelon.
Controllers tukee myös menetelmiä, kuten store()
, update()
ja delete()
tietojen luomisen, päivityksen ja poistamisen käsittelemiseen. Voit olla vuorovaikutuksessa tietokannan kanssa näillä tavoilla.
HU controller
sisään route
Jos haluat käyttää controller
in -tunnusta route
, voit määrittää controller
tiedostossa nimen ja vastaavan menetelmän routes/web.php
.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Tässä esimerkissä, kun käyttäjä käyttää /users
URL-osoitetta, Laravel hän kutsuu menetelmän pyynnön käsittelemiseksi index()
. UserController
Luo näkymä käyttäjäluettelonäytölle
Voit luoda users.index
tiedoston käyttämällä seuraavaa komentoa:
php artisan make:view users.index
Tämä komento luo index.blade.php
tiedoston hakemistoon resources/views/users
.
Kun tiedosto on luotu, voit avata tiedoston index.blade.php
ja suunnitella sivulle käyttöliittymän users.index
. Blade-syntaksin avulla voit luoda HTML-rakenteen ja näyttää tiedot ohjaimesta.
<!-- resources/views/users/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>Users</h1>
<ul>
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
</ul>
@endsection
Yllä olevassa esimerkissä käytämme app.blade.php
asettelua @extends('layouts.app')
. Sivun sisältö määritellään sisällä ja näyttää luettelon silmukan muuttujan @section('content')
käyttäjistä. $users
@foreach
Jotta voit käyttää users.index
sivua, sinun on määritettävä tiedostoon vastaava reitti, routes/web.php
joka osoittaa ohjaimessa olevaan menetelmään ja palauttaa näkymän users.index
.
Yhteenvetona voidaan todeta, controllers että ohjeessa Laravel erotetaan sovelluslogiikka ja tietojenkäsittely. Käyttämällä controllers, voit rakentaa tehokkaita ja ylläpidettäviä sovelluksia Laravel.