Controllers Laravel درخواست کی منطق کو سنبھالنے اور ماڈلز اور آراء کے درمیان تعامل کو آسان بنانے کے لیے ذمہ دار کلاسز ہیں ۔ Controllers ایپلیکیشن منطق کو صارف کے انٹرفیس سے الگ کرنے میں مدد کرتا ہے، ایک واضح اور برقرار رکھنے کے قابل پروجیکٹ ڈھانچہ بناتا ہے۔
کنٹرولر بنائیں
میں کنٹرولر بنانے کے لیے Laravel ، آپ Laravel آرٹیسن کمانڈ استعمال کر سکتے ہیں۔ مثال کے طور پر، نام کا کنٹرولر بنانے کے لیے 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
یو آر ایل تک رسائی حاصل کرتا ہے، تو درخواست کو ہینڈل کرنے کے لیے طریقہ کو Laravel کال کرے گا ۔ index()
UserController
صارف کی فہرست اسکرین کے لیے ایک منظر بنائیں
فائل بنانے کے لیے users.index
، آپ درج ذیل کمانڈ کو استعمال کر سکتے ہیں:
php artisan make:view users.index
index.blade.php
یہ کمانڈ ڈائریکٹری میں ایک فائل بنائے گی resources/views/users
۔
ایک بار فائل بن جانے کے بعد، آپ فائل کو کھول سکتے ہیں اور صفحہ index.blade.php
کے لیے انٹرفیس ڈیزائن کر سکتے ہیں۔ users.index
آپ HTML ڈھانچہ بنانے اور کنٹرولر سے ڈیٹا ڈسپلے کرنے کے لیے Blade syntax استعمال کر سکتے ہیں۔
<!-- 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 ۔