Controllers في 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
في 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.