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() მონაცემთა შექმნის, განახლებისა და წაშლის დასამუშავებლად. ამ მეთოდებით შეგიძლიათ მონაცემთა ბაზასთან ურთიერთობა.
ჩასახლება controller _ 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.

