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.

