Controllers in Laravel είναι κλάσεις υπεύθυνες για το χειρισμό της λογικής της εφαρμογής και τη διευκόλυνση της αλληλεπίδρασης μεταξύ μοντέλων και προβολών. Controllers βοηθούν στο διαχωρισμό της λογικής της εφαρμογής από τη διεπαφή χρήστη, δημιουργώντας μια σαφή και διατηρήσιμη δομή έργου.
Δημιουργία ελεγκτή
Για να δημιουργήσετε έναν ελεγκτή στο Laravel, μπορείτε να χρησιμοποιήσετε Laravel την εντολή Artisan. Για παράδειγμα, για να δημιουργήσετε έναν ελεγκτή με το όνομα UserController
, μπορείτε να εκτελέσετε την ακόλουθη εντολή στο τερματικό:
php artisan make:controller UserController
Μόλις δημιουργηθεί ο ελεγκτής, μπορείτε να ορίσετε μεθόδους χειρισμού εντός του ελεγκτή. Για παράδειγμα, στη index()
μέθοδο, μπορείτε να ανακτήσετε δεδομένα από ένα μοντέλο και να τα μεταβιβάσετε σε μια προβολή για εμφάνιση:
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
}
Στο παραπάνω παράδειγμα, χρησιμοποιούμε το User
μοντέλο για να ανακτήσουμε δεδομένα χρήστη από τη βάση δεδομένων. Στη συνέχεια, μεταβιβάζουμε αυτά τα δεδομένα στην users.index
προβολή για να εμφανιστεί μια λίστα χρηστών.
Controllers υποστηρίζει επίσης μεθόδους όπως store()
, update()
, και delete()
για χειρισμό δημιουργίας, ενημέρωσης και διαγραφής δεδομένων. Μπορείτε να αλληλεπιδράσετε με τη βάση δεδομένων μέσω αυτών των μεθόδων.
HUsing controller
in route
Για να χρησιμοποιήσετε το controller
in route
, μπορείτε να καθορίσετε το controller
όνομα και την αντίστοιχη μέθοδο στο routes/web.php
αρχείο.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Σε αυτό το παράδειγμα, όταν ένας χρήστης αποκτήσει πρόσβαση στη /users
διεύθυνση URL, Laravel θα καλέσει τη index()
μέθοδο στο UserController
για να χειριστεί το αίτημα.
Δημιουργήστε μια προβολή για την οθόνη λίστας χρηστών
Για να δημιουργήσετε το users.index
αρχείο, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
php artisan make:view users.index
Αυτή η εντολή θα δημιουργήσει ένα index.blade.php
αρχείο στον resources/views/users
κατάλογο.
Μόλις δημιουργηθεί το αρχείο, μπορείτε να ανοίξετε το index.blade.php
αρχείο και να σχεδιάσετε τη διεπαφή για τη users.index
σελίδα. Μπορείτε να χρησιμοποιήσετε τη σύνταξη Blade για να δημιουργήσετε τη δομή HTML και να εμφανίσετε δεδομένα από τον ελεγκτή.
<!-- 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
Στο παραπάνω παράδειγμα, χρησιμοποιούμε τη app.blade.php
διάταξη μέσω @extends('layouts.app')
. Το περιεχόμενο της σελίδας ορίζεται μέσα @section('content')
και εμφανίζει μια λίστα χρηστών από τη $users
μεταβλητή μέσα σε έναν @foreach
βρόχο.
Για να χρησιμοποιήσετε τη users.index
σελίδα, πρέπει να ορίσετε την αντίστοιχη διαδρομή στο routes/web.php
αρχείο για να δείξετε τη μέθοδο στον ελεγκτή και να επιστρέψετε την users.index
προβολή.
Συνοπτικά, controllers σε Laravel βοήθεια διαχωρισμού της λογικής της εφαρμογής και του χειρισμού της επεξεργασίας δεδομένων. Χρησιμοποιώντας το controllers, μπορείτε να δημιουργήσετε ισχυρές και διατηρούμενες εφαρμογές στο Laravel.