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.